##一、前言 ###历史背景 先说明一下背景,目前我们公司使用的 MQ 主要是 RabbitMQ 和 Kafka,RabbitMQ 主要是业务场景居多,Kafka 则多用于数据同步、日志收集等场景;在使用 MQ 上面我们有几个痛点: 各业务线维护自己的 MQ 实例集群,比较混乱,无法统一维护,资源使用也很浪费; RabbitMQ 性能和稳定性方面不满足要求; 性能问题,并且无法横向扩容,只能升级硬件规格; 稳定性问题,因为设计上是内存型队列,抗堆积能力差,容易引发内存问题导致宕机; 维护复杂,不支持消息积压、回溯,不支持查询历史消息,运维界面复杂; 另外,对于一些常用的消息队列功能特性,比如延时/定时消息、事务消息(最终一致性),目前业务也是用自己的方式实现,缺少统一的解决方案;
在微服务盛行的今天,提起服务治理,相信大家都已经不再陌生,许多公司都有自己内部的一套定制化的实现方案, Access也不例外, 接下来, 我来为大家介绍一下我们的一套基于SpringCloud的服务治理方案,在本文中,涉及的内容主要包括注册发现/健康检查/灰度发布/访问鉴权等。
Seata是Alibaba开源的一款分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务,本文将详细介绍seata的安装配置以及一个简单的demo
在Spring Cloud构建的微服务系统中,Ribbon作为服务消费者的负载均衡器,有两种使用方式,一种是和RestTemplate相结合,另一种是和Feign相结合。
参考链接:https://www.feishu.cn/hc/zh-cn/articles/360024984973-%E5%9C%A8%E7%BE%A4%E8%81%8A%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%9C%BA%E5%99%A8%E4%BA%BA
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。该项目的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台。其持久化层本质上是一个“按照分布式事务日志架构的大规模发布/订阅消息队列”。
Zookeeper是一个分布式数据一致性的解决方案,分布式应用可以基于它实现诸如数据发布/订阅,负载均衡,命名服务,分布式协调/通知,集群管理,Master选举, 分布式锁和分布式队列等功能。Zookeeper致力于提供一个高性能、高可用、且具有严格的顺序访问控制能力的分布式协调系统
SpringCloud整合ELK实现日志收集
本地搭建es7.6.2集群
Nacos主要用于动态服务发现、服务配置、服务元数据以及流量管理。并且Nacos计划在2.0版本解决Spring Cloud与Kubernetes的”服务发现”和”配置 管理”的鸿沟,这是比较期待的。[]https://nacos.io/zh-cn/docs/what-is-nacos.html
SpringBoot2.3.1版本,SpringCloud Hoxton.SR6,zookeeper,elasticsearch,kafka,nacos,seata等
个人博客,分享java,云原生,数据结构,算法,中间件等
⭐⭐⭐zk的设计与使用(集群,dubbo,分布式锁,master选举,负载均衡,watch,权限等)
An example of gin
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。