微服务初识(一)

相比于传统的单块架构,微服务架构提供了更好的可扩展性和持续改进性。

其中利用了很多近些年出现或完善的概念,例如:敏捷、精益的价值观和方法论,持续交付的深入人心,云计算、虚拟化技术、基础设施自动化等技术的突破和广泛使用,DevOps文化的逐步产生。微服务变得越来越受互联网的拥抱。

包括技术类型:

容器虚拟化技术,以Docker为代表,相比于传统虚拟化,Docker可以更快的交付和部署,轻松迁移和扩展,简单管理。有效解决了微服务架构下,必须要面对的环境复杂、部署困难、运维成本高等问题。

 

微服务的本质:

服务作为组件;围绕业务组织团队;关注产品而非项目;技术多样性;业务数据独立;基础设施自动化;演进式架构。

微服务不是万能钥匙,仍然需要面对很多问题:

1、分布式系统的复杂性

  性能约束,由于服务之间通过网络完成调用,那么网络延时和带宽可能成为制约技术选型的重点问题。

  可靠性约束,由于节点重多,由于网络、组件引起的单点故障,严重影响系统可靠性。

  异步工作模式,由于跨网络处理,同步方式产生阻塞,异步占优势,但是增加系统复杂性,问题定位、解决也更加麻烦。

  数据一致性,分布式事物管理保证多个节点数据瞬时一致,成本更高,更复杂。

  工具,现有IDE可以很方便构建单块架构,但是对于分布式架构支持较少。

2、运维成本

  配置、部署、监控和告警、日志收集,都是与传统架构有区别的,不采用更有效的工具注定成本以指数倍数增加,所以也必须需要关注。

3、部署自动化

  构建自动化部署流水线、降低部署成本、提高部署频率

4、DevOps

  相比于之前组织模式,DevOps将开发和运维的职责融合,对于组织架构提出要求。

5、服务依赖的测试、服务依赖的管理

 

posted @ 2017-12-28 14:32  FlyerS  阅读(81)  评论(0)    收藏  举报