微服务架构的前世今生(八):微服务架构的技术支持

微服务架构的前世今生(八):微服务架构的技术支持

上次我们说到 微服务架构的前世今生(七):微服务架构生态体系  ,这次我们在说说微服务架构的技术支持。作者 哈喽沃德先生,欢迎关注。

 

一、Spring Cloud

  • Spring Cloud Netflix Eureka:服务注册中心。
  • Spring Cloud Zookeeper:服务注册中心。
  • Spring Cloud Consul:服务注册和配置管理中心。
  • Spring Cloud Netflix Ribbon:客户端负载均衡。
  • Spring Cloud Netflix Hystrix:服务容错保护。
  • Spring Cloud Netflix Feign:声明式服务调用。
  • Spring Cloud OpenFeign(可替代 Feign):OpenFeign 是 Spring Cloud 在 Feign 的基础上支持了 Spring MVC 的注解,如 @RequesMapping等等。OpenFeign 的 @FeignClient 可以解析 SpringMVC 的 @RequestMapping 注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。
  • Spring Cloud Netflix Zuul:API 网关服务,过滤、安全、监控、限流、路由。
  • Spring Cloud Gateway(可替代 Zuul):Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,Spring Cloud Gateway 旨在为微服务架构提供一种简单而有效的统一的 API 路由管理方式。Spring Cloud Gateway 作为 Spring Cloud 生态系中的网关,目标是替代 Netflix Zuul,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。
  • Spring Cloud Security:安全认证。
  • Spring Cloud Config:分布式配置中心。配置管理工具,支持使用 Git 存储配置内容,支持应用配置的外部化存储,支持客户端配置信息刷新、加解密配置内容等。
  • Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署。
  • Spring Cloud Stream:消息驱动微服务。
  • Spring Cloud Sleuth:分布式服务跟踪。
  • Spring Cloud Alibaba Nacos:阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
  • Spring Cloud Alibaba Sentinel:面向分布式服务架构的轻量级流量控制产品,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
  • Spring Cloud Alibaba RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。
  • Spring Cloud Alibaba Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架,用于实现服务通信。
  • Spring Cloud Alibaba Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
  • Spring Cloud Alibaba OSS:阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。
  • Spring Cloud Alibaba SchedulerX:阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。
  • Spring Cloud Alibaba SMS:覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

 

二、其他大哥

  • RibbitMQ:RabbitMQ 是部署最广泛的开源消息中间件。是实现了高级消息队列协议(AMQP)的开源消息中间件。
  • Kafka:Kafka 是由 Apache 软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka 是一种高吞吐量的分布式发布订阅消息系统。
  • Redis:Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。
  • MongoDB:MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。
  • Elasticsearch:Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是最受欢迎的企业搜索引擎,其次是 Apache Solr,也是基于 Lucene。
  • MySQL:MySQL 是一种开放源代码的关系型数据库管理系统(RDBMS),免费、简单、占资源少、强大好用。
  • Oracle:世界上最昂贵的数据库,一般金融系统使用居多。
  • FastDFS:FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
  • HDFS:Hadoop 生态组件,可以支持千万级的大型分布式文件系统。
  • XX-JOB:轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
  • TX-LCN:分布式事务解决防范,LCN 并不生产事务,LCN 只是本地事务的搬用工(事务的协调工)。LCN 是一个高性能的分布式事务框架,兼容 Dubbo、Spring Cloud,支持 RPC 框架拓展,支持各种 ORM 框架、NoSQL、负载均衡、事务补偿。
  • Zipkin:Twitter 公司开发贡献的一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper 的论文设计而来,其主要功能是聚集各个异构系统的实时监控数据。
  • Skywalking:Apache Skywalking 是一个开源的,用于收集、分析,聚合,可视化来自于不同服务和本地基础服务的数据的可观察的平台。特别为分布式系统而设计的数据观察和监控系统。
  • Apollo:携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
  • ConfigKeeper:随行付架构部基于 Spring Cloud 研发的分布式配置中心。与 Spring Boot、Spring Cloud 应用无缝兼容。
  • JWT:JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用 JWT 在用户和服务器之间传递安全可靠的信息。
  • Nginx:Nginx 是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强,中国大陆使用 Nginx 网站用户有:百度、淘宝、腾讯、京东、新浪、网易等。
  • Git:开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
  • Docker:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
  • Kubernetes:Kubernetes,简称 k8s,是用 8 代替 8 个字符“ubernete”而成的缩写。Kubernetes 脱胎于 Google 的 Borg 系统,是一个开源的功能强大的容器编排系统,用于管理云平台中多个主机上的容器化的应用,实现了容器集群的自动化部署、扩容以及运维的开源平台。Kubernetes 的目标是让部署容器化的应用简单并且高效。(推荐微服务架构详细深入学习视频教程:spring微服务架构视频教程

 

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 微服务架构的前世今生(八):微服务架构的技术支持