什么是微服务
微服务强调的是一个个体,解决具体某一个问题的服务应用,一个微服务专注的负责一个事情
什么是微服务架构
微服务架构是一种模式,将单一的应用程序划分成一组小的服务,服务之间相互协调、相互配合,为用户提供最终价值。
微服务架构的优点
-
开发简单,一个服务专注于一件事
-
耦合度低,任何一个微服务无论在开发还是在部署阶段都是独立的
-
微服务可以使用不同的语言开发
-
容易集成第三方工具,如jekins,hudson
-
每个微服务都有自己的存储能力,也可以统一存储
微服务架构的缺点
-
开发时需要处理分布式系统的复杂性
-
运维难度提升
-
系统部署依赖
-
服务间通信成本提升
-
服务间数据一致性
微服务中涉及的技术栈
微服务条目 | 落地技术 |
---|---|
服务开发 | SpringBoot,Spring,SpringMVC |
服务配置与管理 | Archaius Diamond |
注册与发现 | Eureka,Consul,Zookeeper |
服务调用 | Rest,RPC,gRPC |
服务熔断 | Hystrix,Envoy |
负载均衡 | Ribbon,Nginx |
服务接口调用 | Fegin |
消息队列 | Kafka,RabbitMQ,ActiveMQ |
服务配置中心管理 | SpringCloudConfig,Chef |
服务路由(API网关) | Zuul |
服务监控 | Zabbix,Nagios,Metrics,Specatator |
全链路追踪 | Zipkin,Brave,Dapper |
服务部署 | Docker,OpenStack,Kubernetes |
数据流操作开发包 | SpringCloudStream |
事件消息总线 | SpringCloudBus |
以上只列举部分,并非全部技术栈
SpringCloud和SpringBoot的关系
-
SpringCloud专注全局微服务协议治理框架,将多个SpringBoot微服务整合并管理,为各个微服务提供配置管理,服务发现,路由等集成服务
-
SpringBoot专注于单个快速方便的开发单个个体微服务
-
SpringBoot可以独立于SpringCloud单独运行,SpringCloud必须依赖于SpringBoot
SpringCloud的五大组件
- 服务注册与发现(Eureka)
- 负载均衡(Ribbon)
- 断路器(Hystrix)
- 网关路由(Zuul)
- 配置管理(Config)
👍 欢迎前往博客主页查看更多内容
👍 如果觉得不错,期待您的点赞、收藏、评论、关注
👍 如有错误欢迎指正!