*
ESB:各个系统之间不同的接口进行互通。如json、xml、webservice等不同的接口,ESB去适配已经存在的各种异构系统,屏蔽异构系统对外提供各种不同的接口方式,以此来达到服务高效的,互联互通
松耦合:减少各个服务间的依赖和互相影响

<>SOA架构

* SOA架构比较高层级的架构设计理念,一般说SOA架构来构建了什么系统,不会说某个独立的系统采用了SOA架构
* SOA提出的背景是企业内部的IT系统重复建设切效率低下
* SOA解决了传统IT系统重复建设和拓展效率低的问题,但其本身也引入了更多的复杂性的ESB
* ESB设计也是无奈之举,因为各种系统已经存在很多年了,重写或者改造成本非常大,只能通过ESB去适配已经存在的各种异构系统
<>微服务

微服务与SOA的关系

* 服务是SOA的实现方式,服务就是更细粒度的SOA
* 微服务是去掉ESB后的SOA,改为轻量级的http RESTFul实现
* 微服务是一种和SOA相似,但本质上不同的架构理念
微服务并不是没有代价,而是会带来系统复杂度、运维复杂度、性能下降等问题
微服务陷阱

* 服务划分过细,服务间关系复杂
* 服务数量太多,团队效率急剧下降
* 调用链太长,性能下降
* 调用链太长,问题定位困难
* 没有自动化支撑,无法快速交付
对于小团队建议使用
三个火枪手,一个微服务三个人负责开发

服务拆分方法

* 基于业务逻辑拆分
* 基于可扩展拆分
* 基于可靠性拆分,带来的好处
* 避免非核心业务故障影响核心业务
* 核心服务高可用方案可以更简单
* 能够降低高可用成本
* 基于性能拆分
上四种拆分可以据实际情况自由排列组合

微服务基础设施

* 服务发现,两种实现方式,自己式,代理式
* 服务路由
* 服务容错,常见的服务容错请求重试,流控,服务隔离
* 服务监控
* 服务跟踪
* 服务安全
* 自动化测试
* 自动化部署
* 配置中心
* 接口框架
* API网关

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信