微服务初识(一)
相比于传统的单块架构,微服务架构提供了更好的可扩展性和持续改进性。
其中利用了很多近些年出现或完善的概念,例如:敏捷、精益的价值观和方法论,持续交付的深入人心,云计算、虚拟化技术、基础设施自动化等技术的突破和广泛使用,DevOps文化的逐步产生。微服务变得越来越受互联网的拥抱。
包括技术类型:
容器虚拟化技术,以Docker为代表,相比于传统虚拟化,Docker可以更快的交付和部署,轻松迁移和扩展,简单管理。有效解决了微服务架构下,必须要面对的环境复杂、部署困难、运维成本高等问题。
微服务的本质:
服务作为组件;围绕业务组织团队;关注产品而非项目;技术多样性;业务数据独立;基础设施自动化;演进式架构。
微服务不是万能钥匙,仍然需要面对很多问题:
1、分布式系统的复杂性
性能约束,由于服务之间通过网络完成调用,那么网络延时和带宽可能成为制约技术选型的重点问题。
可靠性约束,由于节点重多,由于网络、组件引起的单点故障,严重影响系统可靠性。
异步工作模式,由于跨网络处理,同步方式产生阻塞,异步占优势,但是增加系统复杂性,问题定位、解决也更加麻烦。
数据一致性,分布式事物管理保证多个节点数据瞬时一致,成本更高,更复杂。
工具,现有IDE可以很方便构建单块架构,但是对于分布式架构支持较少。
2、运维成本
配置、部署、监控和告警、日志收集,都是与传统架构有区别的,不采用更有效的工具注定成本以指数倍数增加,所以也必须需要关注。
3、部署自动化
构建自动化部署流水线、降低部署成本、提高部署频率
4、DevOps
相比于之前组织模式,DevOps将开发和运维的职责融合,对于组织架构提出要求。
5、服务依赖的测试、服务依赖的管理

浙公网安备 33010602011771号