![](https://img-blog.csdnimg.cn/20201216102724411.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
微服务轮子项目
文章平均质量分 84
本专栏基于SpringCloud,从实际项目为出发点,主要讲解从架构、开发到上线各个流程的实现,,创造轮子以方便新项目的快速迭代开发和旧项目的快速植入
杨林伟
像火箭科学家一样思考!
展开
-
微服务轮子项目(54) - 项目根节点
文章目录1. 引言2. 项目根节点2.1 基础配置2.1.1 packaging方式2.2 properties配置2.3 dependency配置2.4 build配置2.5 repositories配置2.6 distributionManagement配置2.7 developers配置1. 引言备注:本文的代码都提交到了码云,有兴趣的童鞋可以clone参阅,地址:https://gitee.com/19931024/microservice-framework本文目录结构:|_ _ 1原创 2021-03-03 14:26:02 · 548 阅读 · 2 评论 -
微服务轮子项目(53) -理论小结
文章目录1. 概述2. 基础知识2.1 整体架构2.2 分布式事务2.3 Sentinel限流熔断3. 架构设计3.1 服务认证架构设计3.2 日志架构设计3.3 监控架构设计3.4 实时搜索系统设计3.5 缓存架构设计3.5.1 MySQL3.5.2 Redis3.6 消息队列架构设计3.7 文件系统设计4. 环境搭建5. 性能优化1. 概述《微服务轮子项目》理论至此大概讲解完毕,接下来的课程即将讲解具体的代码实现,再此之前,先使用一张脑图来总结前面讲的内容:2. 基础知识2.1 整体架构《原创 2021-02-24 10:28:36 · 491 阅读 · 0 评论 -
微服务轮子项目(52) -Elasticsearch性能优化
文章目录1. 集群规划优化实践1.1 基于目标数据量规划集群1.2. 要留出容量Buffer1.3. ES集群各节点尽量不要和其他业务功能复用一台机器1.4 磁盘尽量选择SSD1.5 内存配置要合理1.6. CPU核数不要太小1.7. 超大量级的业务场景,可以考虑跨集群检索1.8. 集群节点个数无需奇数1.9. 节点类型优化分配1.10. 建议冷热数据分离2. 索引优化实践2.1. 设置多少个索引?2.2. 设置多少分片? 2.3. 分片数设置? 2.4. 副本数设置? 2.5. 不要再在一个索引下创建多个原创 2021-02-08 14:27:05 · 450 阅读 · 2 评论 -
微服务轮子项目(51) -Spring Cloud性能调优
文章目录1. zuul并发调优1.1 修改隔离策略1.2 熔断器并发调优1.3 使用Undertow代替Tomcat 2.Feign参数调优 2.1 替换OKHttp 2.2 开启Feign请求响应压缩3. Ribbon参数调优1. zuul并发调优zuul默认是使用semaphore隔离,并且最大的并发默认是101.1 修改隔离策略默认情况下推荐使用 thread 隔离策略线程池提供了比信号量更好的隔离机制,并且从实际测试发现高吞吐场景下可以完成更多的请求。但是信号量隔离的开销更小,对于本身就是原创 2021-02-08 14:15:47 · 817 阅读 · 0 评论 -
微服务轮子项目(50) -JVM 分析工具详解
文章目录1. JPS1.1 命令格式1.2. option参数1.3 示例2. jstat2.1. 命令格式2.2 option参数2.3. option 参数总览2.4 option 参数详解2.4.1 -class2.4.2 -compiler2.4.3 -gc2.4.4 -gccapacity2.4.5 -gcutil2.4.6 -gccause2.4.7 -gcnew2.4.8 -gcnewcapacity2.4.9 -gcold2.4.10 -gcoldcapacity2.4.11 -gcp原创 2021-02-08 11:41:06 · 757 阅读 · 0 评论 -
微服务轮子项目(49) -常见JVM内存错误及解决方案
文章目录1. Java heap space 1.1 原因分析 1.2 解决方案2. GC overhead limit exceeded3. Permgen space3.1 原因分析3.2 解决方案4. Metaspace5. Unable to create new native thread5.1 原因分析 5.2 解决方案6. Out of swap space?6.1 原因分析6.2. 解决方案7. Kill process or sacrifice child7.1 原因分析7.2. 解决方原创 2021-02-08 11:11:39 · 771 阅读 · 0 评论 -
微服务轮子项目(48) -JVM性能调优
文章目录1. JVM和系统调用之间的关系2. JVM常用内存设置3. 垃圾回收机制4. 垃圾回收器5. JVM优化目标器6. JVM参数设置例子1. JVM和系统调用之间的关系方法区和堆是所有线程共享的内存区域;而java栈、本地方法栈和程序计数器是运行是线程私有的内存区域。2. JVM常用内存设置jdk1.8后prmSize替换为metaspaceSize3. 垃圾回收机制优先在Eden区分配。当Eden区没有足够空间分配时, VM发起一次Minor GC,将Eden区和其中一原创 2021-02-08 10:59:55 · 525 阅读 · 0 评论 -
微服务轮子项目(47) -压力测试工具
文章目录1. 概述2. 安装运行2.1 运行2.2 插件安装3. 使用介绍3.1 添加线程组3.2 添加HTTP请求3.3 添加监听器(Listener)3.4 运行脚本3.5 聚合报告分析1. 概述Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来原创 2021-02-08 10:35:44 · 619 阅读 · 0 评论 -
微服务轮子项目(46) -SonarQube静态代码测试
文章目录1. 概述2. 安装部署3. 静态代码测试1. 概述Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持Java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。1.不遵循代码标准sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。2.潜在的缺陷so原创 2021-02-08 10:16:12 · 502 阅读 · 0 评论 -
微服务轮子项目(45) -Jenkins自动化部署
文章目录1. 安装部署1.1 环境准备1.2 启动与访问1.3 插件安装1.4 全局工具配置1.5 安全配置1.5 踩坑2. ssh免密登录2.1 获取本地客户端机器的公钥2.2 把生成的公钥发送到对方的主机上去2.3 测试2.4 免密登录不生效问题解决3. 流水线简单例子3.1 新建任务3.2 流水线4. 流水线简单例子4.1 新建任务4.2 构建触发器4.3 流水线1. 安装部署1.1 环境准备本说明是针对使用需要Java 8的Jenkins发行版。还建议使用超过512MB RAM的原创 2021-02-08 10:00:36 · 832 阅读 · 0 评论 -
微服务轮子项目(44) -GitLab代码仓库
文章目录1. 安装部署1.1下载镜像1.2 运行GitLab容器1.3 拷贝配置文件1.4 修改gitlab配置1.5 创建启动文件2. 免密访问2.1 获取本地客户端机器的公钥2.2 添加ssh key3. webhook配置3.1 配置触发3.2 webhook报错 Requests to the local network are not allowed1. 安装部署1.1下载镜像docker pull gitlab/gitlab-ce1.2 运行GitLab容器docker run --原创 2021-02-08 09:34:39 · 537 阅读 · 0 评论 -
微服务轮子项目(43) -持续集成CICD概述
文章目录1. 持续交付相关内容2. CICD概念1. 持续交付相关内容2. CICD概念持续集成(CI):持续编译、测试、打包;持续部署(CD):代码在任何时刻都是可部署的,并且适配不同的环境自动部署企业级CICD流水线:开发提交代码 -> GitLabGitLab 通过 WebHook 触发Jenkins构建Jenkins 跑构建流程更新 Harbor 的镜像通知K8s触发更新服务...原创 2021-02-07 14:11:12 · 581 阅读 · 0 评论 -
微服务轮子项目(42) -容器管理平台
文章目录1. Rancher概述1.2 相关资料1.3 概念说明1.3.1 白手起家的农场主(1.x)1.3.2 高速发展的农场(2.x)2. 安装部署2.1 安装要求2.2 安装Rancher3. 使用介绍3.1 登录Rancher3.2 创建K8S集群3.3 部署工作负载1. Rancher概述Rancher是业界唯一完全开源的企业级容器管理平台,为企业用户提供在生产环境中落地使用容器所需的一切功能与组件。Rancher2.0基于Kubernetes构建。使用Rancher,DevOps团队可以轻松原创 2021-02-03 14:23:49 · 7925 阅读 · 0 评论 -
微服务轮子项目(41) -Docker私有镜像仓库
文章目录1. 安装部署 1.1 下载安装包1.2 修改配置文件1.3 安装1.4 访问2. 使用介绍 2.1 新建项目 2.2 从私有仓库提交/拉取镜像 2.3 问题锦集2.3.1 http: server gave HTTP response to HTTPS client2.3.2 denied: requested access to the resource is denied1. 安装部署 1.1 下载安装包直接去github地址,找releases下载最新的offline包https://原创 2021-02-03 11:28:15 · 440 阅读 · 0 评论 -
微服务轮子项目(40) -Maven私服
文章目录1. 安装部署2. 使用介绍2.1 创建一个用户2.2 创建一个maven仓库2.3 respository介绍2.4 提交jar到maven私服2.4.1 配置私服仓库的账号2.4.2 配置发布的私服仓库地址2.4.3 批量提交jar包2.4.4 提交某个jar2.5 指定maven地址下载jar包到本地1. 安装部署1.下载镜像docker pull sonatype/nexus32.创建数据目录mkdir -vp /opt/nexus/nexus-data && c原创 2021-02-03 10:55:21 · 509 阅读 · 0 评论 -
微服务轮子项目(39) -Zookeeper集群搭建
一、下载地址https://zookeeper.apache.org/releases.html二、配置环境变量修改/etc/profile添加以下内容:export ZK_HOME=/export/servers/zookeeper-3.6.1export PATH=$PATH:$ZK_HOME/bin使环境变量生效:source /etc/profile三、修改配置文件1.创建配置文件,重命名 conf 里目录的 zoo_sample.cfg文件cp zoo_sample.cfg原创 2021-02-03 10:42:12 · 410 阅读 · 0 评论 -
微服务轮子项目(38) -分布式日志链路跟踪
文章目录1. 前言2. 解决思路3. 方案实现3.1 修改日志模板3.2 网关添加过滤器3.3 下游服务增加spring拦截器3.4 下游服务增加feign拦截器3.5 解决父子线程传递问题3.5.1 重写logback的LogbackMDCAdapter3.5.2 扩展线程池实现4. 场景测试1. 前言开发排查系统问题用得最多的手段就是查看系统日志,在分布式环境中一般使用ELK来统一收集日志,但是在并发大时使用日志定位问题还是比较麻烦,由于大量的其他用户/其他线程的日志也一起输出穿行其中导致很难筛选出原创 2021-02-01 11:32:29 · 730 阅读 · 1 评论 -
微服务轮子项目(37) -多租户(应用隔离)
文章目录1. 概述2. 数据隔离方案2.1 独立数据库2.2 共享数据库,独立 Schema2.3 共享数据库,共享 Schema,共享数据表3. 选择合理的实现模式4. 轮子项目的技术实现4.1 实体关系图4.2 流程图4.3 配置说明1. 概述多租户技术或称多重租赁技术,简称SaaS,是一种软件架构技术,是实现如何在多用户环境下(此处的多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我原创 2021-01-29 15:51:53 · 3501 阅读 · 3 评论 -
微服务轮子项目(36) -Canal数据库日志解析消费
文章目录1. Canal概述1.1 工作原理1.2 架构1.3 HA机制设计1.4 相关资料2. 安装部署2.1 创建数据库用户canal2.2 远程拉取2.3 启动Docker2.4 运行2.5 MQ消息投递2.6 如果要订阅的是mysql的从库该怎么做?3. 实时同步数据到ElasticSearch3.1 数据同步方案选择3.2 增量同步ES3.3 历史数据全量同步ES1. Canal概述早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是原创 2021-01-29 15:27:15 · 749 阅读 · 0 评论 -
微服务轮子项目(35) -FastDFS分布式文件系统
文章目录1. 概述2. FastDFS2.1 架构图2.2 相关概念2.2.1 tracker server2.2.2 storage server2.2.3 client2.3 优缺点2.4 上传下载交互过程2.6 文件ID-FID3. 文件系统的对比4. 安装部署4.1 docker安装4.2 本地安装1. 概述通过独立文件服务器可以解决一些问题,如果某天存储文件的那台服务突然down了怎么办?可能你会说,定时将文件系统备份,这台down机的时候,迅速切换到另一台就OK了,但是这样处理需要人工来干预原创 2021-01-28 15:29:52 · 614 阅读 · 2 评论 -
微服务轮子项目(34) -Kafka
文章目录1. Kafka概述1.1 角色介绍1.2 四个核心API1.3 相关资料2. 应用场景2.1 作为消息系统2.2 作为存储系统2.3 用做流处理2.4 批处理3. 安装部署3.1 下载3.2 修改配置文件3.3 运行3.3.1 常用命令4. 集群部署4.1 修改配置4.2 启动4.3 测试5. Kafka Connect5.1 各种Kafka Connector5.2 测试1. Kafka概述Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookee原创 2021-01-28 11:45:20 · 564 阅读 · 0 评论 -
微服务轮子项目(33) -RocketMQ特点、安装部署、异常处理、事务消息原理
文章目录1. Rocket概述1.1 特点1.2 网络部署架构1.3 存储特点1.3.1 零拷贝原理1.3.2 数据存储结构1.3.3 顺序消息和幂等性1.3.4 相关资料2. 安装部署2.1 下载2.2 修改配置2.3 运行2.3.1 运行Name Server2.3.2 运行Broker2.4 安装可视化管理界面2.5 停止服务3. 常见异常处理3.1 MQClientException: No route info of this topic, TopicTest13.2 RemotingTooMuc原创 2021-01-28 10:12:19 · 882 阅读 · 3 评论 -
微服务轮子项目(32) -SpringCloudStream消息框架
文章目录1. 前言2. SpringCloudStream介绍3. 项目集成3.1 添加依赖3.2 生产者3.3 消费者1. 前言比方说我们用到了RocketMQ和Kafka,由于这两个消息中间件的架构上的不同,这些中间件的差异性导致我们实际项目开发给我们造成了一定的困扰,我们如果用了两个消息队列的其中一种,后面的业务需求,我想往另外一种消息队列进行迁移,这时候无疑就是一个灾难性的,一大堆东西都要重新推倒重新做,因为它跟我们的系统耦合了,这时候Spring Cloud Stream给我们提供了一种解耦合原创 2021-01-27 17:51:07 · 554 阅读 · 0 评论 -
微服务轮子项目(31) -消息队列对比参照表
原创 2021-01-27 17:32:36 · 422 阅读 · 0 评论 -
微服务轮子项目(30) -数据库分库分表、部署上线方式
文章目录1. 数据库瓶颈2. 分库分表2.1 水平分库2.2 水平分表2.3 垂直分库2.4 垂直分表3. 分库分表工具4. 分库分表步骤5. 分库分表问题5.1 非partition key的查询问题5.2 非partition key跨库跨表分页查询问题5.3 扩容问题5.4 总结6. 部署上线方式6.1 停机部署法6.2 双写部署法6.3 验数据一致性7. ShardingSphere配置7.1 配置示例7.2 配置项说明1. 数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接原创 2021-01-25 16:35:49 · 595 阅读 · 0 评论 -
微服务轮子项目(29) -Redis 单机、主从复制、哨兵、cluster集群、持久化方案
文章目录1. 单机2. 主从复制2.1 主节点配置2.2 主节点启动文件2.3 从节点配置2.4 从节点启动文件2.5 查看主从节点状态3. 主从复制+哨兵3.1 主节点配置3.2 主节点启动文件3.3 从节点配置3.4 从节点启动文件3.5 查看哨兵状态3.6 spring boot 工程集成哨兵集群4. cluster集群4.1 创建文件夹4.2 创建docker-compose配置4.3 启动所有redis4.4 部署cluster4.5 spring boot 工程集成cluster集群5. 持久化原创 2021-01-25 15:42:10 · 412 阅读 · 0 评论 -
微服务轮子项目(28) -MySQL 高可用方案
文章目录1. 引言2. 高可用方案2.1 主从或主主半同步复制2.2 半同步复制优化2.2.1 双通道复制2.2.2 binlog文件服务器3. 高可用架构优化3.1 MHA+多节点集群3.2 zookeeper + proxy4. 共享存储4.1 SAN共享储存4.2 DRBD磁盘复制5. 分布式协议5.1 MySQL cluster5.2 Galera5.3 POAXS6. 总结1. 引言我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面:如果数据库发生了宕机或者意外中断等故障原创 2021-01-25 11:12:29 · 474 阅读 · 0 评论 -
微服务轮子项目(27) -MySQL 主从复制、主从切换、主主复制
文章目录1. 主从复制 1.1 主库安装 1.1.1 创建配置文件1.1.2 启动主库1.1.3 主库创建用于同步的账号1.2 从库安装 1.2.1 创建配置文件 1.2.2 启动从库1.2.3 关联主库1.2.4 启动并查看slave1.2.5 创建从库的普通用户1.3 主库查看同步信息 2. 主从切换 2.1 对主库进行锁表 2.2 检查master同步状态 2.3 检查slave同步状态 2.4 提升slave为master 2.5 将原来master变为slave 3. 主主复制 3.1 主库配置文原创 2021-01-25 10:50:55 · 688 阅读 · 0 评论 -
微服务轮子项目(26) -分布式事务(RocketMQ)
文章目录1. 前言2. MQ选型3. 什么是事务消息4. RocketMQ事务消息原理5. 异步架构一致性实现思路6. 分布式事务场景样例6.1 引入依赖6.2 开启事务消息6.3 订单服务发送half消息6.4 订单服务监听half消息6.5 积分服务消费消息6.6 消费死信队列预警6.7 消费死信队列预警1. 前言原文地址:https://mp.weixin.qq.com/s/dJz63WQl7UDjcbmDy06FyA在微服务架构中,我们常常使用异步化的手段来提升系统的 吞吐量 和 解耦 上原创 2021-01-18 15:37:08 · 550 阅读 · 2 评论 -
微服务轮子项目(25) -分布式事务(SEATA)
文章目录1. 引言2. Seata介绍2.1 AT模式2.2 MT模式3. Seata场景样例3.1 测试环境3.2 部署Seata的Server端境3.3 应用配置1. 引言原文地址:https://mp.weixin.qq.com/s/0yCmHzlXDC9BkbUuEt0_fQ在微服务架构下,虽然我们会尽量避免分布式事务,但是只要业务复杂的情况下这是一个绕不开的问题,如何保证业务数据一致性呢?本文主要介绍同步场景下使用Seata的AT模式来解决一致性问题。2. Seata介绍Seata原创 2021-01-18 11:57:31 · 645 阅读 · 2 评论 -
微服务轮子项目(24) -分布式事务(TX-LCN)
文章目录1. 基础理论1.1 事务特性(ACID)1.2 分布式理论知识1.2.1 CAP理论1.2.2 Base理论1.2.3 柔性事务满足BASE理论(基本可用,最终一致)1.3 XA接口1.4 JTA1.5 二阶段提交协议(2PC)1.6 三阶段提交协议(3PC)2. TX-LCN(同步场景)2.1 TX-LCN介绍与特点2.2 核心步骤2.3 事务控制原理2.4 相关地址1. 基础理论1.1 事务特性(ACID)这种特性简称刚性事物原子性(A):所谓的原子性就是说,在整个事务中的所有操作,原创 2021-01-18 11:39:54 · 518 阅读 · 0 评论 -
微服务轮子项目(23) -Metrics监控
文章目录1. 前言2. 安装部署3. 各组件监控3.1 服务器监控3.2 MySQL监控3.3 Elasticsearch监控3.4 Nacos监控3.5 Redis监控3.6 微服务监控4. Grafana仪表盘4.1 下载4.2 告警配置4.2.1 邮件配置4.2.2 配置邮件通知4.2.3 Alert配置4.2.4 注意事项1. 前言Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接原创 2021-01-18 10:56:33 · 1109 阅读 · 0 评论 -
微服务轮子项目(22) -APM监控(SkyWalking)
文章目录1. 前言2. APM与其它对比2.1 Zipkin2.2 Pinpoint2.3 Skywalking3. Server安装部署4. Agent安装4.1 拷贝agent 4.2 修改配置4.3 添加trace-ignore插件4.4 安装agent 5. 日志信息清理5.1 ES索引数据清理5.2 oap-server的log文件清理1. 前言SkyWalking开源项目由吴晟2015年创建,同年10月在GitHub上作为个人项目开源。SkyWalking项目的核心目标,是针对微服务、Cl原创 2021-01-18 10:09:47 · 1004 阅读 · 1 评论 -
微服务轮子项目(21) -Docker安装
文章目录1. Docker安装1.1 外网安装1.2 内网安装2. 构建项目镜像(免Dockerfile文件)3. 运行构建1. Docker安装1.1 外网安装step1:通过阿里云镜像下载安装包:wget https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-17.12.1.ce-1.el7.centos.x86_64.rpmstep2:安装yum install docke原创 2021-01-13 10:38:41 · 433 阅读 · 0 评论 -
微服务轮子项目(20) -JWT的RSA非对称密钥生成
1. 生成密钥文件使用jdk自带的keytool工具,执行后会在当前目录生成zlt.jks密钥文件:执行指令输入密钥库口令2次输入信息或者直接回车“是否正确”输入y输入密钥口keytool -genkey -alias zlt -keyalg RSA -storetype PKCS12 -keysize 1024 -keystore zlt.jks参数解析:genkey:创建证书alias:证书的别名。在一个证书库文件中,别名是唯一用来区分多个证书的标识符keyalg:密钥原创 2021-01-13 10:06:01 · 672 阅读 · 0 评论 -
微服务轮子项目(19) -Alibaba Sentinel限流熔断(网关流控)
文章目录1. 前言2. 功能接入2.1 网关添加sentinel相关的jar依赖2.2 网关zuul的sentinel配置2.3 nacos规则配置2.3.1 限流配置gw-flow2.3.2 api分组配置gw-api-group2.4 网关zuul启动参数3. sentinel控制台管理4. 测试限流api4.1 测试限流规则14.2 测试限流规则21. 前言相关文章:《微服务轮子项目(16) -Alibaba Sentinel限流熔断(使用示例)》《微服务轮子项目(17) -Alibaba原创 2021-01-07 16:50:55 · 832 阅读 · 0 评论 -
微服务轮子项目(18) -Alibaba Sentinel限流熔断(生产应用)
文章目录1. 前言2. 规则管理及推送2.1 原始模式2.2 Pull模式2.3 Push模式3. 监控4. 其它1. 前言在上一篇博客《微服务轮子项目(17) -Alibaba Sentinel限流熔断(动态规则扩展)》,主要讲解了Sentinel的推拉配置。Sentinel核心库目前已可用于生产环境,目前除了阿里巴巴以外,也有多家企业在生产环境中使用它们。生产环境的 Sentinel Dashboard 需要具备下面几个特性:规则管理及推送,集中管理和推送规则。sentinel-core提供原创 2021-01-07 16:37:52 · 557 阅读 · 0 评论 -
微服务轮子项目(17) -Alibaba Sentinel限流熔断(动态规则扩展)
文章目录1. 前言2. 规则3. DataSource 扩展3.1 拉模式扩展3.2 推模式扩展3.3 注册数据源4. 示例4.1 API 模式:使用客户端规则 API 配置规则4.2 拉模式:使用文件配置规则4.3 推模式:使用 Nacos 配置规则4.4 推模式:使用 ZooKeeper 配置规则4.5 推模式:使用 Apollo 配置规则1. 前言在上一篇博客《微服务轮子项目(16) -Alibaba Sentinel限流熔断(使用示例)》,主要讲解了Alibaba的限流熔断框架Sentinel的原创 2021-01-07 16:14:49 · 909 阅读 · 0 评论 -
微服务轮子项目(16) -Alibaba Sentinel限流熔断(使用示例)
文章目录 1. 引言 2. 介绍 3. 使用示例 3.1 项目集成 3.1.1 添加依赖 3.1.2 配置限流规则 3.2 启动 Sentinel 控制台 3.3 应用接入配置 3.3.1 引入jar 3.3.2 接入限流埋点 3.3.3 对接Sentinel 控制台 3.3.4 配置降级、限流规则 3.3.5 自定义限流处理逻辑 1. 引言在上一博客《微服务轮子项目(15) -审计日志》,主要讲解了审计日志的集成使用,以及如何配置到ELK。本文要讲解的是阿里的限流熔断框架Sentinel。原创 2021-01-07 15:36:40 · 793 阅读 · 0 评论 -
微服务轮子项目(15) -审计日志
文章目录1. 前言2. 审计日志集成3. 发送审计日志3.1 安装部署ELK3.2 定义es索引模板3.3 Logstash配置3.4 Filebeat配置4. 查看数据1. 前言在上一篇博客《微服务轮子项目(14) - 慢查询SQL》,主要讲解了慢查询在MySQL以及在Logstash和Filebeat的操作。接下来,本文要讲解的是审计日志。2. 审计日志集成将来要集成审计日志到我们的项目中,其中审计信息默认输出到logger文件中:logs/audit/audit.log集成的步骤如下:原创 2021-01-07 14:56:19 · 1142 阅读 · 1 评论