微服务
文章平均质量分 88
yxh13521338301
只分享干货的码农
展开
-
链路追踪技术的原理
1.链路跟踪技术1.1 链路追踪背景微服务系统中,随着业务的发展,系统逐渐庞大,服务间调用关系的复杂度也会水涨船高。一个HTTP请求可能涉及多个不同的微服务来处理,返回最后的结果。在这个调用过程中,可能会因为某个服务出现网络延迟过高或发送错误导致请求失败,此时,链路监控尤为重要。1.2 设计原理基于代理技术监控请求。在服务接收请求、返回响应的外层做拦截,监控每个链路节点。traceId: 请求链路全局唯一id spanId:单个节点id parentId:上级节点id2.S原创 2021-06-24 17:36:55 · 2393 阅读 · 0 评论 -
Apollo的原理设计
1.分布式配置中心和Apollo1.1 什么是分布式配置中心?项目中配置文件比较繁杂,不同环境的不同配置修改相对频繁,每次发布可能涉及修改配置,如果配置出现错误,需要重新打包发布,时间成本较高,因此需要做统一的分布式注册中心,能做到自动更新配置文件信息,解决以上问题。1.2 什么是Apollo?Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务...原创 2021-06-21 14:06:42 · 300 阅读 · 0 评论 -
SpringCloud服务保护机制Hystrix
源于蚂蚁课堂的学习,点击这里查看(老余很给力)服务雪崩高并发情况下,大量的请求堆积在一个服务上,超过服务线程池(默认为tomcat自带的线程池)处理的最大线程数,导致其他服务没有线程进行接受请求服务降级对于等待线程处理的请求,返回一个友好的提示(如:当前访问人数太多,或有多少人排队等)。防止用户一直等待(调用fallBack方法)服务熔断对并发请求的数量设置一个阈值,超过阈值就会拒绝访问,对请求执行服务的降级。服务隔离机制默认情况下,只有一个线程池.原创 2020-05-28 15:43:39 · 253 阅读 · 0 评论 -
SpringCloud负载均衡器ribbon
源于蚂蚁课堂的学习,点击这里查看(老余很给力)ribbon客户端从注册中心根据别名的方式获取对应服务地址列表,将其缓存至本地内存,本地进行负载均衡使用discoveryClient负载本地负载均衡 // 原子类保证线程安全 private AtomicInteger atomicInteger = new AtomicInteger(); @RequestMapping("/discoveryClient") public String discovery..原创 2020-05-28 15:05:25 · 134 阅读 · 0 评论 -
SpringCloud注册中心的服务治理
源于蚂蚁课堂的学习,点击这里查看(老余很给力)前言所谓服务治理,就是管理服务之间相互依赖调用的混乱。没有注册中心前,服务之间调用其实是通过配置文件指定需要访问服务的ip、端口等访问信息的,这样一旦被调用方地址信息发生变化,调用者需及时修改其配置,再重新发布,流程繁琐。有了注册中心后,服务启动的时候将自己的地址信息以别名的方式注册至注册中心上,想要调用其他服务时,通过别名的方式去注册中心找到对应的值(地址是支持集群的),进行调用即可springcloud支持多种注册中心,常用..原创 2020-05-28 14:16:51 · 341 阅读 · 0 评论 -
Eureka客户端配置参数列表总结
Eureka客户端参数配置1、RegistryFetchIntervalSeconds 从eureka服务器注册表中获取注册信息的时间间隔(s),默认为30秒2、InstanceInfoReplicationIntervalSeconds 复制实例变化信息到eureka服务器所需要的时间间隔(s),默认为30秒3、InitialInstanceInfoReplicat...原创 2018-06-14 17:15:25 · 1757 阅读 · 0 评论