走向中台
文章平均质量分 62
向大海走去
这个作者很懒,什么都没留下…
展开
-
Flowable事务引发的一些思考
前言最近将公司业务迁移到工作流框架上,在使用Flowable时遇到一个关于事务的问题,困扰了两天,便记录下来。另 : Flowable的具体使用本文不进行赘述,等忙完这阵子整理一下!问题发现假设系统有这么一个流程实例实例中,由两个 服务任务 组成,内部业务可能是调用第三方接口,也有可能处理自己的业务逻辑。假设第三方接口通信不佳,在订单发起节点出现异常 :1.节点内部没有try-catch的情况下,节点内部操作均会回滚。2.流程不会执行到下一个节点,即配送环节。假设配送环节内部业务异常:原创 2021-06-03 19:23:37 · 3838 阅读 · 1 评论 -
Naocs源码-客户端长轮询实现
前言上文说到 NacosConfigService 会初始化 ServerHttpAgent ,本文接着来讲ServerHttpAgent初始化调用有参构造初始化public ServerHttpAgent(Properties properties) throws NacosException { //初始化ServerListManager this.serverListMgr = new ServerListManager(properties);原创 2020-12-03 15:06:48 · 389 阅读 · 0 评论 -
Nacos源码-ConfigService Demo案例引发的源码跟踪
前言近期在学习Spring Cloud Alibaba系统,便记录Nacos配置中心的源码学习从nacos-github 下载源码,IDEA打开,启动过程这里不再叙述了。ConfigServiceexample工程有个ConfigExample类,该类展示了如何从naocs控制台获取配置信息,我们一起来看一下public class ConfigExample { public static void main(String[] args) throws NacosException,原创 2020-12-03 10:49:53 · 395 阅读 · 0 评论 -
Apollo源码-打通Spring体系配置热更新
前言在更新Spring Cloud Alibaba Nacos时,想到之前阅读过Apollo的源码,便在这插入记录了过来,后续更新Nacos Config源码Apollo简介fork 源码地址 apollo源码参考apollo架构中心设计主要分为 Config Service、Admin Service、Portal、Client 四部分上文介绍到客户端如何更新属性值的,本文介绍apollo的自动装配也与上文有关联自动装配apollo自动装配 ,我们在使用apollo时,会扣上 Enable原创 2020-12-03 09:43:37 · 628 阅读 · 0 评论 -
Apollo源码-打通Spring体系
接下来我们看 fireRepositoryChange 方法protected void fireRepositoryChange(String namespace, Properties newProperties) {//遍历配置仓储监听器for (RepositoryChangeListener listener : m_listeners) {try { //回调方法通知配置变更 listener.onRepositoryChange(namespace, newProperties);原创 2020-12-02 19:04:52 · 431 阅读 · 0 评论 -
Apollo源码-长轮询客户端实现
前言在更新Spring Cloud Alibaba Nacos时,想到之前阅读过Apollo的源码,便在这插入记录了过来,后续更新Nacos Config源码Apollo简介fork 源码地址 apollo源码参考apollo架构中心设计主要分为 Config Service、Admin Service、Portal、Client 四部分上文介绍到长轮询服务端实现,本文介绍客户端的长轮询实现长轮询感知配置发布-客户端实现从上文中我们知道,服务端暴露了一个将请求挂起60s的接口 /notifi原创 2020-12-02 19:03:26 · 933 阅读 · 1 评论 -
Apollo源码-长轮询服务端实现
前言在更新Spring Cloud Alibaba Nacos时,想到之前阅读过Apollo的源码,便在这插入记录了过来,后续更新Nacos Config源码Apollo简介fork 源码地址 apollo源码参考apollo架构中心设计主要分为 Config Service、Admin Service、Portal、Client 四部分上文介绍到拉取消息监听器处理,本文介绍服务端如何处理客户端请求的长轮询感知配置发布-服务端实现让我们来看看客户端是怎么拿到消息通知的,服务端又是怎么进行长轮原创 2020-12-02 18:38:23 · 786 阅读 · 0 评论 -
Apollo源码-配置发布通知客户端
前言在更新Spring Cloud Alibaba Nacos时,想到之前阅读过Apollo的源码,便在这插入记录了过来,后续更新Nacos Config源码Apollo简介fork 源码地址 apollo源码参考apollo架构中心设计主要分为 Config Service、Admin Service、Portal、Client 四部分上文介绍到ReleaseMessage 对象的发布,portal发布配置第一件事新增 Release 对象,第二件事发布ReleaseMessage 紧接着第三原创 2020-12-02 18:26:16 · 609 阅读 · 0 评论 -
Apollo源码-Adminservice发布ReleaseMessage消息
前言在更新Spring Cloud Alibaba Nacos时,想到之前阅读过Apollo的源码,便在这插入记录了过来,后续更新Nacos Config源码Apollo简介fork 源码地址 apollo源码参考apollo架构中心设计主要分为 Config Service、Admin Service、Portal、Client 四部分上文介绍到ReleaseController#publish 新增了Release发布对象,本文来跟踪它做的第二件事发送ReleaseMessage消息me原创 2020-12-02 17:59:28 · 215 阅读 · 0 评论 -
Apollo源码-Portal发布配置
前言在更新Spring Cloud Alibaba Nacos时,想到之前阅读过Apollo的源码,便在这插入记录了过来,后续更新Nacos Config源码Apollo简介fork 源码地址 apollo源码参考apollo架构中心设计主要分为 Config Service、Admin Service、Portal、Client 四部分本文介绍的Portal 主要是提供用户管理界面,接口来自Admin Service提供port页面触发配置新增页面路由/apps/{appId}/envs/原创 2020-12-02 17:42:02 · 316 阅读 · 0 评论 -
Spring Cloud Alibaba搭建
Spring Cloud Alibaba 也是微服务开发一站式解决方案,为什么说也是呢?cloud alibaba出来之前,有Spring Cloud生态,其实Cloud Alibaba也是基于Spring Cloud的抽象的分布式系统开发工具包。它包含开发分布式微服务应’用的必须组件。主要包含 :Nacos : 服务发现、注册中心与配置中心角色。Sentinel : 流量控制、熔断降级、系统负载保护RocketMQ : 消息服务Dubbo : RPC服务调用Seata : 分布式事务解决方案原创 2020-12-02 14:01:33 · 200 阅读 · 0 评论 -
Nacos客户端续约
客户端续约在阅读nacos实例注册时,我们看到,客户端会每隔5s执行一次 BeatTask 任务,请求naming服务端的 /nacos/v1/ns/instance/beat 接口,那么服务端是如何处理HTTP心跳请求的呢?服务端续约服务端处理客户端HTTP心跳请求由 com.alibaba.nacos.naming.controllers.InstanceController#beat 第386行的service.processClientBeat(clientBeat); 进入到该方法/**原创 2020-11-07 17:40:37 · 688 阅读 · 0 评论 -
Nacos服务注册应用实例
前言Spring cloud Alibaba 版本依赖管理应用服务启动时,控制台打印 o.s.c.a.n.registry.NacosServiceRegistry : nacos registry, chu-cloud-alibaba-product 10.0.8.109:8000 register finished跟踪 NacosServiceRegistry 类NacosServiceRegistry类该类继承了 ServiceRegistry<Registration>,Ser原创 2020-11-03 19:49:58 · 2679 阅读 · 0 评论 -
docker安装Nacos
转载连接 参考博文原创 2020-10-27 19:44:55 · 82 阅读 · 0 评论 -
EMQ搭建
EMQ搭建前言搭建前言最近项目需要对接ASM设备,而他们提供的设备协议是MQTT,于是网上阅读大量的资料,国产的EMQ挺适合MQTT协议。搭建访问EMQ官网,下载开源版本,企业版本为 EMQ X EnterpriseEMQX版本选择beta : 公测版本,功能存在变化rc : 候选版本,不再加入新功能,集中修复BUG与性能优化正式版 : 功能齐全、性能稳定的版本操作系统与安装包类型zip : 用于开发测试,便于更新升级、修改配置rpm/deb : 易于安装、升级、管理,推荐生产原创 2020-08-26 11:22:28 · 393 阅读 · 0 评论 -
百万量级下单优化
需求背景下单接口承接公司内部业务和开放API业务需求,在与PDD对接过程中,PDD给我们的订单量级是每日百万,峰值可达40W单以上,PDD要求我方TPS能达550笔/s。瓶颈专业测试人员在UAT环境进行下单压力测试,经过反复压测及配合阿里云监控,下单接口性能只能维持200-300笔/s,且压测到一半,后续的压测会经常出现请求超时的情况。分析首先,对于下单接口的性能问题,会有很多原因的,可能是RPC线程池设置不合理,下游依赖超时时间不合理等,需要对业务进行全链路分析。下单链路简至如下:由此初步判原创 2020-07-13 17:24:15 · 517 阅读 · 0 评论 -
【转载】git回退错误的提交
https://www.cnblogs.com/shuimuzhushui/p/10893551.html转载 2020-01-16 10:26:10 · 150 阅读 · 0 评论 -
【转载】多线程并发执行任务,取结果归集。终极总结:Future、FutureTask、CompletionService、CompletableFuture
https://www.cnblogs.com/dennyzhangdd/p/7010972.html转载 2020-01-15 09:59:49 · 199 阅读 · 0 评论 -
中台服务架构落地: 划分与构建
主要记录工作与学习积累的点滴、如有雷同,大概是站在了巨人的肩膀上,诸多不足,请多多包涵"微服务"近年来越来越热门,越来越多的公司开始拥抱它。微服务也确实带来诸多好处,如关注点分离、数据库连接池压力得到缓解、复杂业务得以拆解、代码发布的周期也变成更快。同时微服务也带来了诸多挑战:业务拆分成了很多个服务,维护对象增多;维护对象增多后,如何快速定位问题微服务引入了新技术和新的流程采用需...原创 2019-08-30 15:45:13 · 342 阅读 · 0 评论 -
重构电商中台定义之商品设计
本文主要分享下电商商品的设计,结合公司的业务,为了保密性一些设计方案会引用网上一些大佬的思路,站在前人的肩膀上,对我学习到的知识进行归纳总结,诸多错误,欢迎大家批评指正电商系统大家应该都比较熟悉,在天猫和京东购物去浏览商品,我们可以看到不同的产品分类,当查看某个商品的时候,不同的商品会有不同的属性描述,同一个商品会有不同的型号,商品的录入就是要实现这样的一个功能。在上面的描述中出现了电商系...原创 2019-04-29 09:36:19 · 621 阅读 · 0 评论 -
重构电商中台定义之产品分类设计
本文主要分享下电商类目的设计,结合公司的业务,为了保密性一些设计方案会引用网上一些大佬的思路,站在前人的肩膀上,对我学习到的知识进行归纳总结,诸多错误,欢迎大家批评指正电商系统大家应该都比较熟悉,在天猫和京东购物去浏览商品,我们可以看到不同的产品分类从图中我们可以大致了解到,商品类目分为一级分类、二级分类、三级分类当我们点击手机这一分类时,进入到我们可以看到相应的品牌和规...原创 2019-04-26 14:04:29 · 867 阅读 · 0 评论