微服务

设计架构需要考虑的因素

  • 业务需求

  • 技术栈

  • 成本

  • 组织架构

  • 可扩展性

  • 可维护性

软件架构的进化

单体架构→微服务 定义:

微服务

  • 什么是微服务 使用一套小服务来开发单个应用的方式,每个服

  • 微服务的特征 单一职责 轻量级通讯 隔离性 有自己的数据 技术的多样性

  • 微服务架构的优点 独立性 敏捷性 高效团队

  • 微服务架构的不足 额外的工作 数据一致性 沟通成本

微服务架构引入的问题及解决方案 微服务如何通讯 tcpIp http dobble zookeeper 一对一还是一对多 同步还是异步

一对一

一对多

同步

请求响应模式

-----

异步

通知/请求异步响应

发布订阅

从通讯协议角度考虑

  • REST API

  • RPC

  • MQ

如何选择RPC框架

  • I/O、线程调度模型

  • 序列化方式

  • 多语言支持

  • 服务治理

常见的RPC框架 Dubbo/Dubbox Motan THrift Grpc

微服务如何发现彼此 传统服务 ip和端口号

微服务 客户端发现 服务端发现

微服务怎样部署?更新?扩容?

服务编排 Mesos、

SpringBoot与微服务 化繁为简

SpringCloud与微服务 简化Java的分布式系统

Netfix Eureka Netflix Ribbon Netflix Hystrix Netflic Zuul Spring cloud configure

Last updated

Was this helpful?