🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## **微服务的定义** 一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务于服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选着合适的语言、工具对其进行构建。 ![](https://img.kancloud.cn/cb/a5/cba5c811cde839812a157686f3f282d3_640x430.png) ## **一个完整的微服务系统,最少要包含以下功能:** 日志和审计,主要是日志的汇总,分类和查询 监控和告警,主要是监控每个服务的状态,必要时产生告警 消息总线,轻量级的MQ或HTTP 注册发现 负载均衡 自动化部署和升级 时间调度机制 资源管理,如:底层的虚拟机,物理机和网络管理 **其它功能:** 认证和鉴权 微服务统一代码框架,支持多种编程语言 统一服务构建和打包 统一服务测试 微服务CI/CD流水线 服务依赖关系管理 统一问题跟踪调试框架,俗称调用链 灰度发布 蓝绿部署 ## **技术选型:** 学习推荐地址:https://blog.csdn.net/karlin999/article/details/79277609 ![](https://img.kancloud.cn/da/a3/daa3f5ad36e509394383bbbd146642c7_1200x885.png) **微服务条目------------------落地技术** 服务开发---------------------Spring、SpringMVC、SpringBoot 服务配置与管理------------Netflix公司Archaius、阿里Diamond等 服务注册和发现------------Eureka、Consul、Zookeeper 服务调用---------------------RPC、gRPC、Rest 服务熔断---------------------Hystrix、Envoy 负载均衡---------------------Nginx、Ribbon 服务接口调用---------------Feign 消息队列---------------------ActiveMQ、RabbitMQ、Kafka 服务配置中心管理---------SpringClodeConfig、Chef等 服务路由---------------------Zuul 服务监控---------------------Zabbix、Nagios、Metrics、Spectator 全链路追踪------------------Zipkin、Brave、Dapper 数据流操作开发包---------SpringCloud Stream(封装与Redis\Rabbit、Kafka等发送接受消息) 服务部署---------------------Dockers、OpenStack、Kubernetes等 事件消息总线---------------Spring Cloud Bus