原创文章
个人原创技术等相关文章
码农周星星
干了7年还没脱发的资深程序猿,分享原创技术经验、逗比生活、大厂面试技巧。(点关注,获取本猿私藏的程序员必读书单)
展开
-
如何设计王者荣耀角色转移服务避免系统崩溃(附服务架构方案)
如何设计王者荣耀角色转移服务避免系统崩溃(附服务架构方案技术背景为啥会出现这个需求角色转移事件回放角色转移服务架构设计技术背景为啥会出现这个需求按照王者荣耀这款游戏的技术总监的王者荣耀架构分享:‘“开始Android和iOS分开也有一定原因,我们之前设想Android会先更新,iOS后跟进,以保持版本更新的稳定性。”基于前期游戏技术架构的设计以及目前大量用户的安卓与IOS互通的需求,所以产生这次转区服务的需求。整个角色转移服务的开发从2019年下半年开始,到2020年2月第一次灰度部分用户收费19.9原创 2020-05-25 16:23:06 · 1905 阅读 · 0 评论 -
k8s + spring boot + Eureka如何平滑上下线服务
k8s + spring boot + Eureka如何平滑上下线服务目录服务平滑上下线-k8s版本目录“ 上篇介绍了springboot+Euraka服务平滑上下线的方式,有部分小伙伴反馈k8s环境下有一些办法也可以解决这个平滑过度问题,为了解决这个问题,研究了一下目前我这边服务上k8s平滑过度的方案,分享给大家”回顾:回顾上文spring boot + Eureka如何平滑上下线服务,主要给大家介绍了两种服务平滑过度的版本:单机方式:解决服务停止时,监听web容器是否还有未执行完的请求,等待其原创 2020-05-11 14:44:05 · 2447 阅读 · 0 评论 -
武功秘籍之熔断与降级
武功秘籍之熔断与降级目录Hystrix-豪猪目录“ 什么是熔断、降级?为什么要做熔断、降级?spring cloud体系下熔断降级是如何设计实现的?”熔断与降级:在分布式高并发的环境下,后端每个服务之间的依赖关系非常多,层级非常多,如果一个请求依赖后端的服务A,服务A调用B,服务B调用C,如果这个时候服务B出现异常,就会导致大量的请求超时,在并发量很大的情况下,会瞬间消耗到服务器的CPU与内存资源,导致硬件压力大,从而致使整个服务异常,这个情况又称之为服务雪崩。如下图所示:举个最近比较火的例子解释原创 2020-05-11 13:42:44 · 322 阅读 · 0 评论 -
武功秘籍之发号器
武功秘籍之发号器目录发号器-雪花算法目录“ 发号器是什么?为什么要用发号器?可以解决什么问题?”发号器:在分布式环境下,能够快速生成全局唯一标识(主键)非常重要,比如用户ID、订单ID、消息ID等等,这类服务虽然业务简单,但是生成的ID经常会用来作为数据分库分表关键Key,所以又显得特别重要。目前常用技术方案有使用数据库自增ID、UUID、自定义ID(包括雪花算法等)三种方式。本文主要介绍Twitter的SnowFlake(雪花算法),并基于雪花算法,设计一个支持多业务线通用的ID生成服务。发号原创 2020-05-11 13:33:22 · 305 阅读 · 0 评论 -
武功秘籍之限流
武功秘籍之限流目录单机限流动态单机限流分布式限流目录“ 什么是限流?为什么要做限流?各个场景下限流功能是如何实现的?”单机限流限流:在高并发环境下,往往一个服务会有多个业务方调用,不同的业务方请求频次不一样,业务重要程度也不一样,所以在设计分布式服务架构中,需要增加限流模块来保证核心主要服务的稳定性,本文主要介绍三种常用的限流方案,适合不同的应用场景。场景描述:对于大部分单实例或者几个实例的应用,服务可以采用单机限流的方式,在后端代码中设置固定的值,针对后端指定接口限制每秒或者每小时进行请求总原创 2020-05-11 13:26:53 · 200 阅读 · 0 评论 -
spring boot + Eureka如何平滑上下线服务
spring boot + Eureka如何平滑上下线服务目录服务平滑上下线-单机版服务平滑上下线-微服务版目录“ 系统正常运行,如果要新发版程序,如何保证程序平滑上线,不影响前端的请求?使用Eureka作为注册中心时,会有哪些地方会导致新服务上下线延迟?如何优化并解决服务的正常上下线?”技术版本信息:spring-boot-starter-parent-2.2.4-RELEASEspring-boot-starter-web-2.2.4-RELEASEspring-boot-starter-u原创 2020-05-11 13:12:01 · 3435 阅读 · 0 评论