先声明一下:我所在的公司是一个小团队,做物联网相关的,前后端、硬件、测试加起来也就五六十个人左右;本人的岗位是Java开发(兼DBA、运维);我进公司时整个项目的部署架构为 简单jar包部署微服务集群形式;去年公司将部分服务使用docker进行部署;因为现在服务稍微有点多导致容器管理起来也比较难,再 ...
交易发生时,应将当时的业务关系记录在交易表;另一种情况,如果要依据当前最新业务关系查看交易数据时,应以两表关联的方式来实现。 ...
从基础的角度看,设计模式是研究类本身或者类与类之间的协作模式,是进行抽象归纳的一个很好的速成思路。后面阅读设计模式后,为了加深理解,对相关图片进行了描绘和微调。从技术的角度已经有很多好的总结,本文会换一种角度思考,既然设计模式研究的是类与类的关系,我们作为工作的个体,一些工作中的策略是不是也可以进行... ...
设计模式 设计模式这一概念最早起源于建筑领域,是Christopher Alexander在其著作《建筑模式语言》中首次提及, 而后经过岁月的洗礼与沉淀,由我们的前辈们引入到软件设计领域, 其作为一种设计问题的思想,经过众多软件开发前辈们经过反复的实践和踩坑之后得到的经验,逐渐趋于成熟和完善。应用这 ...
限流,通常讲就是限制流量,也有很多其他的说法,比如:限频、疲劳度控制等。 原文链接:自定义开发限流组件 之 场景需求分析-一只小Coder 最近遇到一个需求,系统A作为一个专门推送消息给客户的消息中心系统,对于每个客户是否能接受消息,能接受多少消息,接收消息的速度,能接受哪些消息等都要进行控制,这也 ...
作者:胡济麟 1、背景介绍 1.1 直播业务特点 互联网视频直播是一种消息媒介形态,提供时产时消的内容,经过多年,已经发展出秀场、游戏、电商、体育等多种业务形态。主要特点是:内容实时产生实时消费,对时效性要求更高;流媒体内容占用带宽大,对网络质量要求更苛刻;一人生产、多人消费,带宽规模大。直播 CD ...
5.2 文件处理策略 在开发fastDFS和minio实现类之前,需要提前安装部署好fastDFS和minio。搭建教程可参考前面的章节。 第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令 第2-1-3章 docker-compose安装FastDFS,实现文件存储服务 第2-1 ...
决策引擎服务是风控系统的大脑,承载着风控策略编排和计算的任务,对决策的时耗和精度有着严格的要求,本文以决策流执行路径实现方案为切入点,一窥风控决策引擎高效的原理。 ...
解释器模式是一种使用频率相对较低但学习难度较大的设计模式,它用于描述如何使用面向对象语言构成一个简单的语言解释器。 ...
访问者模式被认为是最复杂的设计模式,并且使用频率不高。大多情况下,你不需要使用访问者模式,但是一旦需要使用它时,那就真的需要使用了。 ...
面向对象之设计模式 一、设计模式概述 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、稳健性以及安全性的解决方案。 1995年,GoF(Gang of Four,四人组/四人帮)合作出版 ...
中介模式属于行为型设计模式,可以将原本难以理解的网状结构转换成了相对加单的星型结构,主要用来降低多个对象和类之间的通信复杂性。 ...
RAID技术出现的初衷是把多个小容量的硬盘组合起来,以获得更大的存储容量。当前我们所说的RAID技术更多则是与数据保护相关,换言之,当物理设备失效时,RAID能够用来防止数据的丢失。 随着阵列技术的发展,已经产生了很多不同类型的RAID,但现在只有少数几种RAID仍在使用。在这个章节中,我们将讨论最... ...
面向对象之元类 一、什么是元类 Python中一切皆为对象,对象是有类实例化生成; 类也是对象(类对象),生成类对象的类可称之为元类; 所以,元类就是来创建类对象的,可称之为类工厂; type是python内建元类,type是最上层的元类,也可称为一切类对象的元类 二、元类推导流程 """推导步骤1 ...
面向对象之魔法方法 一、魔法方法的概念 定义在类中的双下方法都可以称为魔法方法 不需要人为调用,在特定的条件下会自动触发,并运行 类似于__ init__, 当我在使用类产生对象时,会自动触发 class Foo: # 双下init就是魔法方法的一种 def __init__(self, ...
职责链模式是一种与策略模式类似的设计模式,都是使用多个对象去处理同一个请求。不同的是,职责链模式针对的一条链路上的所有对象,而不是“非此即彼”的关系。 ...
派生方法实战 以上我们学习了通过super()的方法可以重写父类、额外添加父类中的数据,下面将通过实战案例来讲述super()方法来重写、添加父类中的功能代码 需求: 1、使用json格式,序列化字典d d = { 't1': datetime.date.today(), 't2': datet ...
软件系统架构设计的目标不在于设计本身,而在于架构设计意图的传达。图形化有助于在团队间进行高效的信息同步,但不同的图形化方式需要语义一致性和效率间实现平衡。C4模型通过不同的抽象层级来表达系统的静态结构,并提供了最小集的抽象建模元素,为设计人员提供了一种低认知负载、易于学习和使用的高效建模方式。 ...
1,设计模式概述 1.1 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造》中 ...
导读:对于错误码的设计,不同的开发团队有不同的风格习惯。本文分享阿里文娱技术专家长统对于错误码的看法,希望从错误码使用的不同场景讨论得到一个合理的错误码规约,得到一个面向日志错误码标准和一个面向外部传递的错误码标准。 ...