系统设计
文章平均质量分 93
bruce128
https://github.com/bruce256?tab=repositories
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
全链路参数透传
背景现在的系统大多是基于SOA的分布式应用。跨服务调用的时候,存在线程上线文里的重要信息如traceId,租户id无法传递给下一个应用。要解决的问题内部系统通过RocketMQ交互时,traceId如何透传到消息消费应用内部系统通过Dubbo调用时, traceId如何透传到服务提供方解决方案1 rocketMQ异步透传解决方案发消息时,通过切面拦截 DefaultMQProducer.send 方法,将traceId从threadLocal写入Message的properties里面原创 2022-03-28 10:40:12 · 3862 阅读 · 0 评论 -
高性能Server的基石:reactor反应堆模式
业务开发同学只关心业务处理流程。但是我们开发的程序都是运行服务端server上,服务端server接收到IO请求后,是如何处理请求并最终进入业务流程的呢?这里不得不提到reactor反应堆模型。nginx tomcat redis nodejs dubbo等软件的网络处理模型都是用的reactor反应堆模型。前置知识。原创 2024-02-23 15:24:32 · 1890 阅读 · 0 评论 -
客户端升级系统升级策略
我们项目组的客户端多大20余种,两年前为这些客户端写了一个升级模块,但是不够强悍。去年年中重新做了一个灰度升级系统,专门为客户端升级服务。现在分享下这个系统的升级策略。 发布版 所有版本号比发布版低的客户端都要升级到发布版。升级的形式有两种,登录升级和使用中升级。1.登录升级 登录前提示升级,一般是比较重要的升级方式才会配成登录升级。用户当然可以取原创 2015-07-28 19:32:46 · 4798 阅读 · 0 评论 -
编码规范经验谈
接手3.0的项目接近两个Q,在阅读了这些代码的基础上开了一些新功能。对我们项目组的核心工程的代码有些批判的想法,现在拿来跟大家分享一下。计算机巨匠 Donald Kunth(《计算机程序设计的艺术》系列作者)有一句名言:程序是写给人看的,只是偶尔让机器执行一下。言辞颇为偏激,但是至少强调了一点,代码的可读性是十分重要的。一个大型的项目,一般会有10-20次的产品迭代,就我们IM这个可以做到原创 2016-01-25 10:53:19 · 1781 阅读 · 0 评论 -
业务架构浅谈
一、序章 一般的工程师接触到的是 应用架构 ,传统的MVC分层架构、事件驱动架构等等。第一次接触业务架构这个概念是在来到商品发布团队之后。商品发布是一个业务属性很重的系统,承载了淘宝、天猫、盒马、魅力惠、汽车、虚拟、SCM自营、苹果、村淘、公益、教育等诸多业务(业务多的围起来可以绕地球一圈)的商品发布功能。头半年对“业务架构”还是很懵逼的,随着慢慢的熟悉业务,研究框架代码,才对我们的业务架构.........原创 2022-07-13 16:44:47 · 5312 阅读 · 6 评论
分享