概念
微服务的起源与定义可以追溯到多个阶段和不同的贡献者。微服务的概念最早可以追溯到2005年,当时Peter
Rodgers博士在云计算博览会上提出了“Micro-Web-Services”的概念,这是一种专注于单一职责的细粒度Web服务。然而,这一概念并未立即引起广泛关注。真正意义上的微服务架构概念是在2011年的一次软件架构研讨会上被讨论,并在随后几年逐渐发展起来。James Lewis和Martin Fowler在2014年共同提出了微服务的系统性定义,强调将复杂系统拆分为多个小型、独立的服务单元,每个服务运行在自己的进程中,并通过轻量级通信机制(如HTTP
API)进行交互。这种架构风格旨在提高系统的可扩展性、灵活性和维护性,同时支持敏捷开发和快速迭代。
微服务框架的主流生态体系:技术发展微服务框架包括Spring Cloud家族、Dubbo家族和云原生家族,为开发者提供了多种选择。
微服务框架
工作中使用的微服务框架。
待补充…
常用组件
各种不同的组件,各司其职。
- 系统监控与链路追踪
- 系统监控
- Prometheus
- Grafana
- 链路追踪
- SkyWalking
- Jaeger
- Zipkin
- 系统监控
- 请求路由与负载均衡
- Nginx
- Sharding Sphere
- 限流熔断
- 限流机制
- 固定窗口限流
- 滑动窗口限流
- 漏桶算法
- 令牌桶算法
- 熔断
- Sentinel
- Hystrix
- Resilience4j
- 限流机制
- 服务网关
- Spring Cloud Gateway
- 服务集群
- Spring Boot
- 注册中心
- Nacos
- 配置中心
- Apollo
- Nacos
- 分布式缓存
- Redis
- 分布式文件存储
- HDFS
- 数据同步
- Canal
- Logstash
- Flink
- 分布式搜索
- Elasticsearch
- 数据库
- OpengGauss
- MySQL
- Oracle
- 消息队列
- RocketMQ
- Kafka
- RabbitMQ
- 分布式日志框架
- Logback
- ELK (Elasticsearch, Logstash, Kibana)
- 自动化部署
- Devops
- Jenkins
- Kubernetes
- Docker
- RANCHER