传统应用的问题
- 单一业务开发和迭代困难
- 扩容困难
- 部署和回滚困难
微服务发展历程
- 面向服务开发 - SOA
- 微服务开发
- 微服务是一种将业务系统进一步拆分的架构分格
- 强调每个单一业务都独立运行
- 每个单一服务都应该使用更轻量的机制保持通信
- 服务不强调环境,可以不同语言或数据源
- 微服务选择
- Dubbo
- Spring Cloud
微服务基本概念
* Provider: 服务提供者,提供服务实现
* Consumer: 服务调用者,调用Provider提供的服务实现
采用dubbo+spring boot构建微服务环境
dubbo采用dubbo-spring-boot-starter插件来引入。
Dubbo直连提供者的缺点
- 消费者知道服务提供者的地址,直接连接服务
- 这种方式一般只在测试环境中使用
- 直连提供者限制了分布式的易扩展性
Dubbo架构图
直连不好,开始引入“注册中心”来解决这个问题。