随笔分类 -  业务.架构.方案

开发常见业务场景,解决方案,架构方式。
摘要:聊聊支付流程的设计与实现逻辑通常在业务体系中,都会或多或少的涉及到支付相关的功能;对于一些经验欠缺同学来说,最紧张的就是面对这类支付结算的逻辑,因为流程中的任何细节问题,都可能引发对账异常的情况;错误发生之后,再想去修复流程,花费的时间成本又是高昂的,还牵扯错误数据的调平问题,最终很可能引发乱账算不清的结果,然后需要人工介入手动处理; 阅读全文
posted @ 2022-07-03 17:31 七号楼 阅读(1370) 评论(1) 推荐(4) 编辑
摘要:应用配置管理,基础原理分析在微服务的代码工程中,配置管理是一项复杂的事情,即需要做好各个环境的配置隔离措施,还需要确保生产环境的配置安全;如果划分的微服务足够的多,还要考虑配置更新时的效率; 阅读全文
posted @ 2022-06-21 08:15 七号楼 阅读(658) 评论(0) 推荐(1) 编辑
摘要:服务管理与通信,基础原理分析阅读源码最重要的是耐着心情慢慢看,并随手画下核心流程,实际上如果有一定的编程经验,不管是阅读什么工程的源码,只要用心去分析单点的实现原理,都算不上过度复杂。 阅读全文
posted @ 2022-06-08 08:12 七号楼 阅读(537) 评论(0) 推荐(0) 编辑
摘要:模板化的封装,降低业务代码开发做这些业务设计时,核心思想是:把常用的逻辑进行封装,流程设计为可配置,这样即可在一定时间内应对业务的需求和变化,降低开发成本的支出,从而使研发更侧重核心业务的管理和抽象封装等内容。 阅读全文
posted @ 2022-05-23 22:36 七号楼 阅读(747) 评论(0) 推荐(4) 编辑
摘要:复杂任务中,流程的解耦设计在系统开发的过程中,必然存在耗时极高的动作,是基于请求响应模式无法解决的问题,通常会采用解耦的思维,并基于异步或者事件驱动的方式去调度整个流程的完整执行。 阅读全文
posted @ 2022-05-08 18:29 七号楼 阅读(727) 评论(0) 推荐(1) 编辑
摘要:微服务与领域驱动设计,架构实践总结如果软件系统存在持续的迭代周期,那么其中业务、技术、架构的复杂性都会直线拉升,其相应的开发难度也会提高,随之而来的压力会持续在开发和测试之间来回横跳。 阅读全文
posted @ 2022-04-25 08:32 七号楼 阅读(856) 评论(2) 推荐(2) 编辑
摘要:基于HiKariCP组件,分析连接池原理HiKariCP作为SpringBoot2框架的默认连接池,号称是跑的最快的连接池,数据库连接池与之前两篇提到的线程池和对象池,从设计的原理上都是基于池化思想,只是在实现方式上有各自的特点; 阅读全文
posted @ 2022-04-10 19:30 七号楼 阅读(583) 评论(0) 推荐(1) 编辑
摘要:基于Apache组件,分析对象池原理本文从对象池的一个简单案例切入,主要分析common-pool2组件关于:池、工厂、配置、对象管理几个角色的源码逻辑,并且参考其在Redis中的实践。 阅读全文
posted @ 2022-04-06 08:50 七号楼 阅读(472) 评论(0) 推荐(1) 编辑
摘要:从简单代码入手,分析线程池原理线程池中维护多个线程,当收到调度任务时可以避免创建线程直接执行,并以此降低服务资源的消耗,把相对不确定的并发任务管理在相对确定的线程池中,提高系统服务的稳定性。 阅读全文
posted @ 2022-03-20 20:15 七号楼 阅读(371) 评论(0) 推荐(3) 编辑
摘要:微服务工程中,基础组件应用微服务工程的架构是一项复杂和持续的过程,其中涉及到的组件也十分繁杂,本文只是选取Gateway、Nacos、Feign三个基础组件做简单的总结,在其逻辑的理解上需要围绕该组件的核心功能和项目使用的API作为切入点,时常查阅源码和官方文档。 阅读全文
posted @ 2022-03-08 08:43 七号楼 阅读(658) 评论(0) 推荐(0) 编辑
摘要:日志管理系统,多种方式总结好记性不如好Log。项目中日志的管理是基础功能之一,不同的用户和场景下对日志都有特定的需求,从而需要用不同的策略进行日志采集和管理,如果是在分布式的项目中,日志的体系设计更加复杂。 阅读全文
posted @ 2022-02-28 08:46 七号楼 阅读(2404) 评论(0) 推荐(2) 编辑
摘要:分布式项目中,选型与依赖管理很多技术栈或者开源组件的不断发展,都是为了可以更好的解决场景问题,这就需要开发人员定期关注技术的发展趋势,具备技术视野和洞察能力。 阅读全文
posted @ 2022-01-28 14:32 七号楼 阅读(479) 评论(1) 推荐(0) 编辑
摘要:分布式系统中,权限设计实践采用合理的策略去管理资源的权限并不是一件简单的事,通常随着业务和系统的不断扩展,对权限体系都会带来直接的影响,所以在做结构设计时,需要相对复杂但又要避免过度复杂。分布式系统中,通常从系统层、组织架构、权限关系三个方面去考虑可行方案。 阅读全文
posted @ 2021-12-06 08:32 七号楼 阅读(1402) 评论(1) 推荐(1) 编辑
摘要:微服务架构中,二次浅封装实践二次封装的方式,可以严格的控制技术栈的迭代扩展,以及版本冲突的问题,通过对二次封装层的统一升级,可以快速实现业务服务的升级,解决不同服务的依赖差异问题,较大程度的降低业务与技术的耦合。 阅读全文
posted @ 2021-11-21 15:09 七号楼 阅读(1012) 评论(1) 推荐(4) 编辑
摘要:分布式服务下,消息中间件改造在系统开发初期,很容易出现这样一种情况:不同业务线上开发人员,因为技术栈和版本时间的影响,在选型的时候会优先使用自己熟悉的,例如MQ中间件常用的:Kafka、Rocket、Rabbit等, 阅读全文
posted @ 2021-09-23 08:18 七号楼 阅读(861) 评论(0) 推荐(3) 编辑
摘要:架构设计:数据服务系统0到1落地实现方案基于业务场景做好服务的划分和设计,以及公共服务的基础构建,确保业务层的架构合理且可扩展,是否合理的基本考量就是,不断的新增业务场景是否需要做系统的大刀阔斧的改版,如果服务能力不断丰富,系统的改造成本很小,自然架构合理。 阅读全文
posted @ 2021-02-24 07:57 七号楼 阅读(891) 评论(0) 推荐(3) 编辑
摘要:RestHighLevelClient的API作为ElasticSearch备受推荐的客户端组件,其封装系统操作ES的方法,包括索引结构管理,数据增删改查管理,常用查询方法,并且可以结合原生ES查询原生语法,功能十分强大。在使用RestHighLevelClient的语法时,通常涉及上面几个方面,在掌握基础用法之上可以根据业务特点进行一些自定义封装,这样可以更优雅的解决业务需求。 阅读全文
posted @ 2021-01-25 08:09 七号楼 阅读(3341) 评论(0) 推荐(1) 编辑
摘要:有很多复杂的业务是很难理解的,但是又需要做一个量化分析,给业务人员或者运营,或者用户一个参考标准,例如常见指数,芝麻分数,店铺等级,这类业务评定标准非常复杂,因为影响结果的因素很多。 阅读全文
posted @ 2020-12-02 21:51 七号楼 阅读(1053) 评论(0) 推荐(1) 编辑
摘要:常规分布式架构系统来说,划分出十来个独立的微服务模块是很常见的,然后不同的开发人员分工几个服务块,负责日常开发和维护,微服务之间会出现版本差异也是自然的。例如用户服务需要开发版本为7.0,其他服务可能高于这个版本或者低于这个版本,所以对服务发布这块做持续集成就很有必要。 阅读全文
posted @ 2020-11-25 23:12 七号楼 阅读(911) 评论(0) 推荐(0) 编辑
摘要:微服务下通过实现RequestInterceptor接口,管理服务之间的Feign请求拦截器,在请求路由到服务前,可以对请求执行一些处理操作,常见操作例如传递版本号,用户Token等请求头等属性。 阅读全文
posted @ 2020-11-19 23:54 七号楼 阅读(2418) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示