本文主要讲解了京东百亿级商品车型适配数据存储结构设计以及怎样实现适配接口的高性能查询。通过京东百亿级数据缓存架构设计实践案例,简单剖析了jimdb的位图(bitmap)函数和lua脚本应用在高性能场景。希望通过本文,读者可以对缓存的内部结构知识有一定了解,并且能够以最小的内存使用代价将位图(bitm... ...
解决的问题 避免新开发的代码影响提测的代码 避免生产环境出现问题后,修复后,由于代码混乱,无法合并到生产环境 解决多个需求并行开发,并行测试,合并上线的问题 我的设计思路 流程图工具我使用的是:diagrams.net 具体执行步骤 开发人员按需求粒度从dev建立分支 哪个需求或者哪些需求提测,就把 ...
本文从设计模式与编程语言的关系,设计模式与架构模式的区别,设计原则和设计模式的关系等几个维度进行了分析和解答。关于设计模式应该如何学习和应用的问题,给出了学习意见和实践心得。 ...
前段时间,随着阿里集团CEO张勇的公开信发布,阿里集团也做出了历史上最大的一次组织调整。
随着新的1+6+N的组织阵型的调整和落地,阿里曾经的中台战略,变得有点非常的尴尬了,似乎成为了一个巨大的争议。 ...
# 抽象工厂模式 >回顾工厂方法设计模式的不足:具体产品增加时,系统中类的个数将成对增加,在一定程度上增加了系统的复杂度 ## 一、模式动机 - 产品等级结构:产品等级结构即产品的继承结构,即抽象产品与具体产品 - 产品族:在抽象工厂模式中,产品族是指由同一个工厂生产的,位于不同产品等级结构中的一组 ...
基于ssd磁盘,此我设计了比redis更好的缓存方案。此方案:没有缓存击穿问题。没有缓存雪崩问题。没有缓存污染问题。没有热key问题。 不需要snap和aof。支持任何sql库,sql库不需要带有任何分布式功能。 ...
简介 访问者模式(Visitor Pattern)是一种行为型模式。它封装一个访问者类,把各元素类的操作集合起来,目的是将数据结构与数据操作分离。在不改变原有元素类数据结构的前提下,改变了元素类的执行算法。 当某些较为稳定的东西(数据结构或算法),不想直接被改变但又想扩展功能,这时候适合用访问者模式 ...
这几周与公司的软件开发专家(职称)讨论产品的软件新架构与方案,主要涉及两点 是否复用现有的核心机制 基于领域建模设计 关于第一点,双方达成一致。 关于第二点,领域可以理解为业务,业务专家(产品经理,需求工程师,临床工程师等)与研发人员一起,通过头脑风暴、事件风暴、会议、协作等方式,使得研发人员对产品 ...
LOD:迪米特法则(Law of Demeter) CRP:合成复用原则(Composite Reuse Principle) DRY:不要重复你自己原则 (Don’t Repeat Yourself Principle) KISS:KISS原则 (Keep It Simple and Stupid ...
一、前言 第二次在博客园上发布面向对象程序设计题目集的总结博客。经过几周的学习,面向对象的理念更加深入。虽然已经学了些面向对象程序设计,学好这部分内容还是有较大难度。 关于知识点 本次的题目集所体现的知识点已经不仅限于Java的语法知识,还需要考虑设计问题,不能看到题目就开始进行代码编写,需要考虑类 ...
工厂方法模式 简单工厂的不足 上节的简单工厂,需要拓展时比如修改工厂类,违背了设计模式的开闭原则 简单工厂类直接生成各个子类产品,而工厂方法则有一个抽象工厂类,声明了创建产品的工厂方法,而各个不同的子类产品交由各个不同的具体工厂去完成创建,拓展时,只需要新建一个具体工厂即可,具有更好的灵活性和拓展性 ...
简介 模板方法模式(Template Method Pattern)也叫模板模式,是一种行为型模式。它定义了一个抽象公开类,包含基本的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构,只是重定义该算法的某些特定步骤。不同的子类以不同的方式实现这些抽象方法,从而对剩余的逻辑有不 ...
摘要:本文主要是对《凤凰架构》的解读,讲述规划系统流量的几种方式。 本文分享自华为云社区《大流量时代,如何规划系统流量提升可靠性》,作者:breakDawn 。 透明多级分流系统 对系统流量进行规划, 要注意以下2个原则 尽可能减少单点部件, 或者减少到达单点部件的流量或者作用 奥卡姆剃刀原则,确定 ...
简介 策略模式(Strategy Pattern)属于行为型设计模式。将每一个算法封装到具有共同接口的独立类中,根据需要来绑定策略,使得具体实现和策略解耦。 当你想使用对象中各种不同的算法变体,使用if...else 所带来的复杂和难以维护,可使用策略模式。或者当有许多相同类,它们仅在执行某些行为时 ...
唯一不变的就是变化本身。 我们经常讲的系统、子系统、模块、组件、类、函数就是从逻辑上将软件一步步分解为更细微的部分,即逻辑单元, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决。 逻辑单元内部、外部的交互会产生依赖,从而产生了内聚、耦合概念。内聚主要描述逻辑单元内部,耦合主要描述逻辑单元之间的关 ...
微服务架构是将单个服务拆分成一系列小服务,且这些小服务都拥有独立的进程,彼此独立,很好地解决了传统单体应用的上述问题,但是在微服务架构下如何保证事务的一致性呢? ...
通过小demo的方式跟大家分享一下我对DDD中战术层级的理解,算是抛砖引玉,该理解仅代表我个人在现阶段的一个理解,也可能未来随着业务经验深入,还会有不同的理解。 ...
简介 单例模式(Singleton Pattern)属于创建型设计模式,这种模式只创建一个单一的类,保证一个类只有一个实例,并提供一个访问该实例的全局节点。 当您想控制实例数目,节省系统资源,并不想混用的时候,可以使用单例模式。单例有很多种实现方式,主要分为懒汉和饿汉模式,同时要通过加锁来避免线程安 ...
门面模式和适配器模式是代码级的设计模式,而防腐层本质是一种防御型策略,在更高的层级对系统进行解耦。通常情况下,防腐层包含一系列的门面类和适配器类以及一些转换器类。 ...