共性化异步任务处理方案
背景 考虑到现有业务很多依赖于MQ的方式进行,这种方式需要依赖于MQ,发送消息到mq和消费mq消息时需要了解mq消息结构进行相应处理; 对于后续对同样的事件做其他处理的人如不能提前了解到已有相应消息发到了mq就得再发一次消息到mq等。 ...阅读全文
背景 考虑到现有业务很多依赖于MQ的方式进行,这种方式需要依赖于MQ,发送消息到mq和消费mq消息时需要了解mq消息结构进行相应处理; 对于后续对同样的事件做其他处理的人如不能提前了解到已有相应消息发到了mq就得再发一次消息到mq等。 ...阅读全文
一、定义 定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类不改变一个算法的结构即可重定义该算法的特定步骤。模板方法是一种类行为型模式 二、描述 模板方法模式结构比较简单,其核心是抽象类和其中的模板方法的设计,包含...阅读全文
在日常开发的过程中,我们会遇到各种各样复杂的业务系统,老猫通过这五种方式,基本就可以对系统有个比较好的拿捏。 ...阅读全文
在当今的互联网时代,微服务架构已经成为许多企业选择的架构模式,它能够提高系统的灵活性、可维护性和可扩展性。然而,微服务架构下的高可用性和弹性扩展是一个复杂的挑战。本文将介绍如何利用容器与中间件来实现微服务架构下的高可用性和弹性扩展的解决...阅读全文
原文链接:https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage 译者:Kafka KIP-405是一篇非常优秀的多层存储的设计...阅读全文
架构设计师是系统开发的主体角色,他们通过执行一系列活动来实施架构设计。架构设计通过生成过程形成最终的产品架构,架构设计师的成果是创建架构。从图1可以看出,系统开发中架构设计师是整个系统的核心. ...阅读全文
嗨,大家好!欢迎来到C-Shopping,这是一场揭开科技面纱的电商之旅。我是C-Shopping开源作者“继小鹏”,今天将为你介绍一款基于最新技术的开源电商平台。让我们一同探索吧! 点击 这里,http://shop.huanghan...阅读全文
可接: 渗透测试项目 linux方向项目设计(bishe) 前端开发 可接: 渗透测试项目 linux方向项目设计(bishe) 前端开发 可接: 渗透测试项目 linux方向项目设计(bishe) 前端开发 可接: 渗透测试项目 li...阅读全文
所谓高并发系统,是指能同时处理大量并发请求,并及时响应,从而保证系统的高性能和高可用 那么我们在设计一个高并发系统时,应该考虑哪些方面呢? 1. 搭建集群 如果你只部署一个应用,只部署一台服务器,那抗住的流量请求是非常有限的。并且,单体...阅读全文
阅读说明: 如果有排版格式问题,请移步 [《业务单系统架构设计心得(一)》](https://www.yuque.com/mrhuang-ire4d/oufb8x/ilud3u0w74sthfpo?singleDoc# 《业务单系统架构...阅读全文
一、定义 定义一系列算法类,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。策略模式是一种对象行为型模式,又称为政策(Policy)模式。 二、描述 包含以下三个角色:1、Context(环境类):环...阅读全文
个人用户管理是业务系统中非常基础且重要的一个公共服务系统,我们写的绝大多数应用都和个人用户或会员有关,用户(会员)数据安全无小事,必须有一个完备的用户管理平台系统。 因为不同公司的主业务不同,个人用户管理的侧重点也会有不同,PowerD...阅读全文
一、从痛点中思考答案 痛点一:复杂系统的设计和逻辑碎片化散落,缺少沉淀导致系统后期维护、迭代以及架构升级都非常困难。 痛点二:由于新需求或新项目导致的系统的老旧逻辑梳理往往耗费大量人力,甚至造成人才的流失。 痛点三:多团队共建场景下需要...阅读全文
一、业务背景 系统业务功能:系统内部进行数据处理及整合, 对外部系统提供结果数据的初始化(写)及查询数据结果服务。 系统网络架构: 部署架构对切量上线的影响 - 内部管理系统上线对其他系统的读业务无影响 分布式缓存可进行单独扩容, 与存...阅读全文
一、定义 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类,状态模式又称为状态对象,它是一种对象行为模式。 二、描述 状态模式是一种较为复杂的设计模式,用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题,...阅读全文
本文介绍了在C#中如何使用单例模式,并介绍了在多线程模式下单例模式可能存在的问题及其解决方法,希望对你有所帮助。 ...阅读全文
什么是布隆过滤器? 布隆过滤器是一种数据结构,具有快速插入和查找的特性,能确定某个字符串一定存在或者可能存在。布隆过滤器有着高效的空间利用率,它不存储具体数据,只存储数据的关键标识,所以占用的空间较小。它的查询结果可能会存在一定误差,但...阅读全文
在软件开发的世界里,虽然技术日新月异,但有些原则是经久不衰的。就像建房子需要坚实的地基,软件开发也有其基础原则。它们像是指南针,帮助开发者在变化莫测的技术海洋中保持方向。 ...阅读全文
本篇我们讲红黑树的经典实现,Java中对红黑树的实现便采用的是经典红黑树。前一篇文章我们介绍过左倾红黑树,它相对来说比较简单,需要大家看完上篇再来看这一篇,因为旋转等基础知识不会再本篇文章中赘述。本篇的大部分内容参考 《算法导论》和 J...阅读全文
本文聊一个程序员都会关注的问题:性能。当大家谈到“性能”时,你首先想到的会是什么?性能优化是一个复杂且多面的话题,涉及到代码的编写、系统的架构以及硬件的选择与配置。在追求性能的旅途中,我们需要掌握的知识有很多,既有软件方面的,也有硬件方...阅读全文