分布式服务框架设计笔记一
2016-09-01 23:56
399 查看
一.服务发展历程:
传统MVC-> SOA ->微服务
SOA也是服务化一种,它与微服务的区分主要在:1.服务化粒度 2.微服务强调独立布署独立测试及独立发布 3.注册服务微服务是动态化,而SOA往往是静态的
典型的的SOA实现是使用webservice,而服务的注册往往是消费者在代码中写死或者使用域名映射服务提供者。
微服务,spring cloud,dubbo都可以。但dubbo缺少:服务链路监控,服务升降级。
二.分布式服务化后,几个痛点:
服务注册问题,一般需要有注册中心,服务动态注册与下线。
服务监控,包括哪些服务不可用,服务调用链路耗时或异常等。
服务路由及负载均衡。一般在客户端进行路由与负载均衡,当某个提供者挂了时尝试下一台。
服务不可用时的处理,是failFast,还是failOver(重试)
服务动态扩展,这个就涉及到服务动态注册以及在业务设计服务时要求无状态。
服务流控及服务升降级。服务升降级dubbo没提供,有些项目是在业务代码上做开关达到服务降级目的。
服务化后,引发的分布式事务问题。一般使用事务补偿。tcc类的二阶段分布式事务比较重,性能也会差点。
三.分布式服务治理框架架构层次
传统MVC-> SOA ->微服务
SOA也是服务化一种,它与微服务的区分主要在:1.服务化粒度 2.微服务强调独立布署独立测试及独立发布 3.注册服务微服务是动态化,而SOA往往是静态的
典型的的SOA实现是使用webservice,而服务的注册往往是消费者在代码中写死或者使用域名映射服务提供者。
微服务,spring cloud,dubbo都可以。但dubbo缺少:服务链路监控,服务升降级。
二.分布式服务化后,几个痛点:
服务注册问题,一般需要有注册中心,服务动态注册与下线。
服务监控,包括哪些服务不可用,服务调用链路耗时或异常等。
服务路由及负载均衡。一般在客户端进行路由与负载均衡,当某个提供者挂了时尝试下一台。
服务不可用时的处理,是failFast,还是failOver(重试)
服务动态扩展,这个就涉及到服务动态注册以及在业务设计服务时要求无状态。
服务流控及服务升降级。服务升降级dubbo没提供,有些项目是在业务代码上做开关达到服务降级目的。
服务化后,引发的分布式事务问题。一般使用事务补偿。tcc类的二阶段分布式事务比较重,性能也会差点。
三.分布式服务治理框架架构层次
相关文章推荐
- 分布式服务框架原理(一)设计和实现
- 分布式服务框架学习笔记5 消息队列
- 分布式服务框架-原理与实践:15---服务降级-学习笔记
- 分布式服务框架学习笔记
- 分布式服务框架学习笔记1 应用架构演进
- 分布式服务框架-原理与实践:11---服务灰度发布-学习笔记
- 分布式服务框架-原理与实践:6---服务路由-学习笔记
- 分布式服务框架-原理与实践:14---流量控制-学习笔记(理论篇)
- Java高并发高性能分布式框架从无到有微服务架构设计
- 分布式服务框架学习笔记3 序列化、反序列化与协议栈
- 分布式服务框架设计
- 分布式服务框架学习笔记 01 - 软件架构发展史
- 分布式服务框架-原理与实践:15---服务降级[展示API]-学习笔记
- 阿里巴巴分布式服务框架dubbo学习笔记
- 分布式服务框架学习笔记4 服务路由
- 分布式服务框架学习笔记8 ActiveMQ入门使用
- 分布式服务框架学习笔记9 ActiveMQ入门2 管理、生产者/消费者模式
- 分布式服务框架设计要点
- 分布式服务框架学习笔记4 服务路由
- 分布式服务框架-原理与实践:13---服务多版本-学习笔记