Sleuth + ZipKin 实现微服务链路追踪
## Sleuth + ZipKin 实现微服务链路追踪 > 由于微服务架构本身的特性,一个完整的业务逻辑后边有着一些列相对独立的细粒度的服务组成,每个服务由不同的团队开发,且每个服务都分布在不同的机器上,如果在调用的过程发生问题,例如调用失败、调用过程响应很慢或响应失败,我们该如何在这个分布式环境下快速定位问题所在,如何快速分析业务处理中的响应慢的瓶颈在哪?多个微服务的拓扑图关系?如何完整
## Sleuth + ZipKin 实现微服务链路追踪 > 由于微服务架构本身的特性,一个完整的业务逻辑后边有着一些列相对独立的细粒度的服务组成,每个服务由不同的团队开发,且每个服务都分布在不同的机器上,如果在调用的过程发生问题,例如调用失败、调用过程响应很慢或响应失败,我们该如何在这个分布式环境下快速定位问题所在,如何快速分析业务处理中的响应慢的瓶颈在哪?多个微服务的拓扑图关系?如何完整
## 微服务的系统保护 - sentinel ### 微服务的雪崩效应 雪崩效应产生的原因,由于某原因导致某个服务不可用,之后导致上游服务不可用,然后导致级联效应,影响到调用改服务的其他辅,从而引起一系列连锁反应,最后导致整个系统的不可用。 造成雪崩效应常见的原因如下: - 流量突增 - 系统 bug - 硬件或网络异常 - 同步等待 - 缓存击穿 应对的方案
## 简单使用 Ribbon 实现微服务高可用通信 负载均衡按实现分类方式,可以分为服务端负载均衡和客户端负载均衡 ### 服务端负载均衡 在架构中会提供专用的负载均衡器,由负载均衡器持有后端节点的信息,服务消费者发来的请求经由专用的负载均衡器分发给服务提供者,进而实现负载均衡。 常用的负载均衡器硬件有:F5、Nginx、HaProxy 等。 ### 客户端负
## Nacos 搭建与简单的使用 > 随着互联网的快速发展,对开发员的要求越来越高,微服务的框架也是一个合格程序员的必要知识储备,本人又要开始慢慢的着手微服务的开发知识。 Nacos 有以下的特性 - 服务发现 服务发现 权重管理 打标管理 优雅上下线 - 配置管理 在线编辑 历史版本 一键回滚 恢复发布
## IDEA中类与方法自定义注释模板 ### 方法注解模板 在 idea 中的 File -> Settings -> Live Templates 中,新增一个模板注解 ![image-20220303071903692](https://mufeng-blog.oss-cn-beijing.aliyuncs.com/typecho/image-202203030719036
## 自定义 starter > SpringBoot 中的 starter 是一种非常重要的机制,能够抛弃以前复杂的配置,将其同意集成进 start,应用者只需要在 mave 中引入 starter 依赖。 **为什么要自定义 starter** 在我们的日常开发工作中,经常会有一些独立业务之外的配置模块,我们经常将其放到一个特定的包下,然后如果一个工程需要复用这块功能的时候,
## RPC 框架 > 在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在 Java 领域中有很多可以实现远程通讯的技术,例如:RMI、Hessian、SOAP、ESB 和 JMS 等。其基本原理是基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 TCP、UDP 等,TCP、UDP 都是基于 Socket 概念上为某类应用场景而扩展出来的传输协议。 ##
## 分布式调度 > 本博文可以分三部分进行学习,分布式调度的了解,Quartz 使用,Elastic-Job 使用。 ### 分布式调度定义 分布式任务调度有两层含义 1. 运行在分布式集群环境下的调度任务(同一个定时任务部署多分,只应该有一个定时任务在执行) 2. 分布式调度--> 定时任务的分布式 --> 定时任务的拆分 (把一个大的作业任务拆分为多个小的作业)
## 局域网下扫描占用的 ip java版 需求是通过自身的局域网 ip,找到子网掩码为 255.255.255.0 的已经被占用的ip,为了调高扫描的效率,需要多线程进行扫描。 ```java import info.mufeng.hardware.model.PingResult; import lombok.Synchronized; import lombok.ex
## Spring 的源码分析 [TOC] 本次分析的目的是: - Spring IoC 源码的分析 - Spring AOP 源码的分析 分析前先搞清楚两个概念 - IOC/DI:控制反转/依赖注入,是一种技术思想,不是一个技术实现。IoC解决对象之间的耦合问题。 - AOP: ⾯向切⾯编程/⾯向⽅⾯编程,在不改变原有业务逻辑情况下,增强横切逻辑代码,根本上