《分布式服务架构 原理设计与实战》 第1章 分布式微服务架构设计原理

互联网产品的要求:高可用性,高性能,可伸缩,可扩展和安全性的非功能质量
相对于传统的企业级技术来说,面向的人群不一样,结构也就不一样。
如果互联网产品也像企业软件那样,就好比整个中国的人都到北京的一个办事处来办事,这个办事处可能无比庞大,但是却不能很好的服务到各个地方的人。
所以互联网技术以拆分为原则来满足服务于海量用户的需求。

产品的演化过程

  • 传统单体架构 lamp
    特点:单体化,所有的组件都耦合在一个开发项目中,并且配置在一个jvm进程中。颗粒度太粗。无法实现单个模块的上线工作。
    JEE架构
    SSH架构 springmvc

  • SOA服务化架构
    特点:将模块化组件从单一进程中进一步拆分,形成独立的对外提供服务的网络化组件,通过某种网络协议对外提供服务。
    web service
    esb企业总线

  • 微服务

问题是驱动人类进步的原动力

 soa的服务化架构仍然存在问题,所以才会进一步演化成微服务的架构。
 webservice
    依赖中心化服务化发现机制
    使用soap通信协议(基于xml的协议交换消息)来序列化通信数据,xml格式数据冗余,协议太重
    服务化管理和治理设施并不完善
esb
    组合在esb上的服务可能是一个过重的整体服务,或是传统的jee服务。
    esb视图通过总线来隐藏系统内部的复杂性,但是系统内部的复杂性仍然存在。
    总线本身的中心化的管理模型,系统变更影响的范围随之扩大。

微服务的特点:多个可独立开发,可配置,可运行和可维护的子服务,子服务之间通过良好的接口定义通信机制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章