微服务
文章平均质量分 66
国际渣男
这个作者很懒,什么都没留下…
展开
-
300字短文让你从特性了解Istio
一、从特性去了解Istio:应用无感:无需关注业务应用代码限流,限制流量,保护下游服务熔断,快速失败,剔除异常服务二、实现原理:应用无感,其实就是在应用的上面加了一层代理而已。每个主机服务独享。限流,设置代理的最大连接数、最大请求数等等。每个主机服务独享。熔断,代理请求下游服务得到异常返回,在一段时间内将该host剔除负载均衡列表。每个主机服务独享。三、缺点:(优点就是特性)服务多就配置多,维护困难,人员要求高不支持动态变更参数值,需手动改配置限流死板,网络拥塞,比如在双11,原创 2021-09-08 16:52:36 · 326 阅读 · 0 评论 -
精通微服务开发?来聊聊这些问题
持续更新中说一说高并发场景下的如何实现系统限流?实现的算法有四种,分别是计算器法、滑动窗口算法、漏桶算法、令牌桶;其中后两种使用较多,漏桶算法:由两部分组成,漏点+桶。比如桶(队列)只能存放10个请求,以固定漏点(线程)处理请求。超出桶大小的请求则丢弃;缺点是无法应对突发流量。令牌桶算法:独立线程(协程)以固定速率生产令牌丢尽桶里,若桶满则丢弃。客户端发起请求先从桶拿令牌,若无,则丢弃。拿到令牌的请求则可打到下游服务,缺点是:若桶设置比较大,会对下游服务压力。Go-Micro各组件功能,与GR.原创 2021-08-22 22:19:25 · 304 阅读 · 0 评论 -
服务治理【5】Golang实现弹性服务
一、本节前言:在nginx实现负载均衡,需要手动配置upstream、proxy_pass参数字段,再重启生效;对于节点不可用,nginx虽有拥有节点错误自动降低权重。但是对新增节点却毫无办法,只能手动修改配置。本节的内容就是解决该问题。实现服务节点的弹性伸缩,对外使用统一API网关,对内采用多样负载均衡策略实现本节内容主要步陬有:1、封装zookeeper的增删改查、注册和发现等方法2、负载均衡策略对象(观察者对象)3、配置模块对象4、Real Server应用服务二、封装zookeep原创 2021-05-07 22:26:34 · 352 阅读 · 0 评论 -
【手机商城】Go-Micro 微服务全栈项目案例
目录:0 项目结构1 建库建表2 proto定义3 生成模型和接口4 商品服务(增删改查等) [ 可以依据此继续实现用户、订单、评论等服务 ] - 4.1 模型层 - 4.2 控制器 - 4.3 服务注册5 API网关6 附件: share通用包代码(非重点)原创 2021-04-22 11:20:36 · 2457 阅读 · 0 评论 -
服务治理【4】HTTP服务的降级和熔断
目录一、熔断与降级 - 意义 - 熔断器的原理二、hystrix-go库使用三、hystrix-dashboard面板一、熔断与降级熔断的意义: 熔断器是当依赖的服务已经出现故障,为了保证自身服务的正常运行不再访问依赖的服务,防止雪崩效应。降级的意义: 当服务器压力剧增时,根据业务策略降级,以此释放服务资源保证业务正常。二、熔断器的原理熔断器的状态:关闭状态:服务正常,维护失败率统计,达到失败率阈值时,转到开启状态开启状态:调用fallback函数,一段时间后,进入半开启状态半开原创 2018-11-16 17:34:59 · 4431 阅读 · 0 评论 -
服务治理【3】HTTP服务限流
目录一、限流 1.1 限流的意义 1.2 限流分类 1.3 令牌桶限流的实现 1.4 构建限流中间件 1.5 在路由Use该中间件 1.6. 运行测试一、限流1.1 限流的意义高并发三大利器:缓存:提升系统访问速度和增大处理容量,为相应业务增加缓存。降级:当服务器压力剧增时,根据业务策略降级,以释放服务器资源保障业务正常。限流:通过对并发限速,以达到拒绝服务、排队或等待、降级等处理1.2 限流分类漏桶限流:每次请求时计算桶流量,超过阈值则降级请求令牌桶限流:每次请求时原创 2018-11-14 11:59:50 · 4286 阅读 · 0 评论 -
服务治理【2】HTTP流量转发及负载均衡
目录1.启动后端服务器2.反向代理模块3.构建并使用流量转发中间件4.项目结构和运行结果一、启动后端服务器代码在这篇《文章》第一节二、反向代理模块utils/httputil.gofunc SingleJoiningSlash(a, b string) string { aslash := strings.HasSuffix(a, "/") bslash := strings.HasPrefix(b, "/") switch { case aslash && bs原创 2018-11-10 11:38:59 · 5575 阅读 · 0 评论 -
服务治理【1】中间件角色及应用
强烈建议先看完网络编程和网络代理等系列文章《网络编程》《网络代理》目录: 1. 中间件在服务治理的作用2: 中间件的意义 - 2.1 首先避免if-else多重嵌套、不利于横向扩展和删减、冗余严重 - 2.2 其次可提高复用、隔离业务。代码调用清晰、组合随意。3: 洋葱结构中间件4: 方法数组(切片)构建中间件 - 4.1 什么是方法数组(切片)?构建中间件的必要条件? - 4.2 构建中间件的必要条件(上下文context) - 4.3 构建中间件的必要条件(中间件封装在路由上r原创 2018-11-08 22:38:57 · 3674 阅读 · 0 评论