怎么处理消息重发的问题?

这篇文章主要描述如何解决消息重发的问题,目前主流的消息队列产品都采用了At least once的服务质量,这就导致了很难避免消息重发的情况,我们可以将消费者业务逻辑设计成幂等服务来解决消息重发问题。 ...阅读全文

怎么做才能不丢消息?

这篇文章主要描述如何在使用消息队列时避免丢消息,包括检测消息丢失的方法以及消息从生产到完成消费的过程中,经历的生产、存储和消费这三个阶段是分别如何保证消息可靠传递的。 ...阅读全文

聊聊消息队列中的基础概念

这篇文章主要描述消息队列中的一些基本概念,我们在使用不同的消息队列产品时,会遇到不同的“名词”,今天我们今天来聊聊消息队列发展历史,以及一些相关基本概念。 ...阅读全文

Git仓库迁移实操(附批量迁移脚本)

最近公司组织架构调整,整个组换到新部门,需要将原来组内的项目代码,全部迁移到新的 group 中去(公司用的 gitlab 服务器),要求保留所有的提交记录、分支和标签。 我当然知道 Gitlab 本身是支持创建仓库时通过链接导入的,...阅读全文

访问者模式

访问者模式是一种将算法与对象结构分离的软件设计模式。它可以让你在不修改对象结构的情况下,对对象结构中的元素进行不同的操作。访问者模式的优点是符合单一职责原则,优秀的扩展性和灵活性。缺点是具体元素对访问者公布细节,违反了迪米特原则,而且如...阅读全文

解释器模式

解释器模式是一种行为型设计模式,它可以用来定义和解释一种语言的文法,并根据文法对句子进行解释。解释器模式通常用于编译器,表达式计算,正则表达式,机器人等领域。 它的基本思想是为每个符号(终结符或非终结符)创建一个类,然后使用这些类来构建...阅读全文

Java面向对象进阶第一天

面向对象高级第一天 static关键字 是静态的意思,可以修饰成员变量,也可以修饰成员方法 成员变量的分类 静态成员变量 有static修饰,属于类,与类一起加载,内存中只有一份,可以被共享访问。 什么时候用呢?如果信息要被共享,只需要...阅读全文

实践篇(三):如何有效评审软件架构图?

设计意图的传达是架构可视化关注的重要维度,在技术方案评审过程中不可避免的会出现各种各样的架构图或设计图,这些图形化表述在设计意图传达效果层面表现不一,本文从图形化的视角为软件架构图的评审关注点提供了参考。 ...阅读全文

类的构造函数和析构函数

构造函数和析构函数 构造函数是类的入口函数 析构函数是类的销毁函数 1、构造函数 a、构造函数默认是public类型的,如果定义private则定义外部不能进行对象的创建,所以只能是公有函数 b、构造函数是入口函数,所以可以进行参数的初...阅读全文

初探富文本之CRDT协同算法

初探富文本之CRDT协同算法 CRDT的英文全称是Conflict-free Replicated Data Type,最初是由协同文本编辑和移动计算而发展的,现在还被用作在线聊天系统、音频分发平台等等。当前CRDT算法在富文本编辑器领...阅读全文

常见编码规范

通常,不同的公司里有着不同的编码规范,主要是从代码得准确性、稳定性、可读性等地方着手制定,以提高团队成员之间的协作效率,这里主要是列出一些常见的编码规范。 ...阅读全文

学习笔记——架构之路

2023-01-13 一、基本功 (1)工程结构管理 掌握企业环境的搭建和管理 (2)java开发规范 P3C开发规约 (3)高并发及网络编程 需要考虑性能瓶颈 (4)底层源码分析 二、互联网常用技术——分布式 1、NoSQL数据库:是...阅读全文

浅谈服务接口的高可用设计

作为一个后端研发人员,开发服务接口是我正常不过的工作了,这些接口不管是面向前端HTTP或者是供其他服务RPC远程调用的,都绕不开一个共同的话题就是“高可用”,接口开发往往看似简单,但保证高可用这块实现起来却不并没有想想的那么容易,接下来...阅读全文

常用设计模式之简单工厂模式

简单工厂模式 (C++) 工厂模式的使用场景也比较多,像是一些组件对象的创建场景,这里说一下简单工厂模式。 特点及应用 1. 特点 (1)封装具体实现,只提供管理对象接口 举个例子:我现在需要一个界面工厂,工厂只需要给我对应界面就可以,...阅读全文

物联网 IOT 设备如何脱离信息孤岛?

目前在家庭物联网这一块,绝大部分的电子消费品都是基于wifi联网的设备。从商家那里达到消费者手中之后,简单开机使用无法体现其全部价值,还是需要经过消费者给设备配网的过程,把设备从信息孤岛接入互联互通的世界。 ...阅读全文