刷新
ZooKeeper 核心通识

博主头像 为了应对大流量,现代应用/中间件通常采用分布式部署,此时不得不考虑 CAP 问题。ZooKeeper(后文简称 ZK)是面向 CP 设计的一个开源的分布式协调框架,将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用,分布式应用程序可以基于... ...

领域驱动设计四论

博主头像 1776 年亚当斯密发表《国富论》,标志着经济学的诞生。2004 年,一本名为《领域驱动设计·软件核心复杂性应对之道》的书问世,开辟了软件开发的一个新流派:领域驱动设计。看完这本书,十个人有九个人的感觉都是:似懂非懂,若有所得,掩卷长思,一无所得,我个人的感觉同样如此。出于兴趣,多年来仔细研读了几十... ...

go-浅学设计模式随记

责任链模式 组成:由多个处理器及处理器处理标志串联组成 作用:常用于处理流水线事务,利用多个处理器对同一个对象进行处理,可以利用各处理器开关 场景:常见逻辑层处理逻辑:获取参数、fetch数据、逻辑处理数据、返回参数一系列数据处理 优点:将复杂的流水线处理逻辑简化为一个个单元,操作较为便捷,可以随意 ...

我与 5 种消息队列的 8 年情缘

博主头像 谈起消息队列,内心还是会有些波澜。 消息队列、缓存、分库分表是高并发解决方案三剑客,而消息队列是我最喜欢,也是思考最多的技术。我想按照下面的四个阶段分享我与消息队列的故事,同时也是对我技术成长经历的回顾。 ...

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

博主头像 简单工厂模式 (C++) 工厂模式的使用场景也比较多,像是一些组件对象的创建场景,这里说一下简单工厂模式。 特点及应用 1. 特点 (1)封装具体实现,只提供管理对象接口 举个例子:我现在需要一个界面工厂,工厂只需要给我对应界面就可以,而我不需要去关心界面里面是怎样实现的,如何创建的。 (2)集中管 ...

浅谈系统性能提升的经验和方法

博主头像 资金核对的数据组装-执行-应急链路,有着千万级TPS并发量,同时由于资金业务特性,对系统可用性和准确性要求非常高;日常开发过程中会遇到各种各样的高可用问题,也在不断地尝试做一些系统设计以及性能优化,在此期间总结了部分性能优化的经验和方法,跟大家一起分享和交流。 ...

【软件工程底层逻辑系列】建模的底层逻辑

博主头像 建模对于大家来讲并不陌生,而且建模的方法也有很多,如用例建模、四色建模、事件风暴等,但在日常工作中,大家又觉得建模挺虚的:怎么把建模落到实际开发工作中。个人认为建模是分两部分:第一部分是业务概念建模,对现实业务抽取核心概念构建出模型(知识层);第二部分是系统建模,系统建模是源于业务概念模型,遵循某些... ...

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

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

后台开发进阶:白话DDD从入门到实践

博主头像 DDD(领域驱动设计)是 Eric Evans 于 2003 年提出的解决复杂的中大型软件的方法,开始一直不愠不火。直到 Martin Fowler 于 2014 年发表的论文《Microservices》引起大家对微服务的关注,DDD 才重新慢慢的回到了大众的视野中。 DDD 这几年升温的同时,... ...

Dubbo架构设计与源码解析(三)责任链模式

博主头像 作者:周可强 一、责任链模式简介 1、责任链模式定义 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。 ...

23种设计模式,你学废了嘛?

博主头像 23种经典设计模式共分为3种类型,分别是创建型、结构型和行为型。 今天,我们把这3种类型分成3个对应的小模块,逐一带你回顾一下每一种设计模式的原理、实现、设计意图和应用场景。 还是那句话,如果你看了之后,感觉都有印象,那就说明学得还不错;如果还能在脑子里形成自己的知识架构,闭上眼睛都能回忆上来,... ...

高并发架构设计经验总结

博主头像 高并发解决的核心问题是在同一时间上有大量的请求过来,然后我们的系统要怎么抗住这些请求带来的压力。本文从基础设施层、服务端架构层、服务应用层分别做了一个简单的梳理,在每一层通过什么的方式去抗并发,给大家提供一个思路。 ...

时间片差分调度法-充分利用MCU的资源

博主头像 前言 通过该篇学习了嵌入式的任务调度(即时间片论法)后,了解到通过以1ms为调度时间单位轮询判断是否需要执行函数任务,那么下面介绍如何基于时间片论法的任务调度模式充分利用MCU的资源,姑且先称这种方式为时间片差分调度法。 充分利用MCU的资源指的是在不影响原有的函数调度情况下合理进行分配,避免MCU ...

轻量级的架构决策记录机制

博主头像 作者:倪新明 ADR是一种性价比非常高的架构决策文档化实践,团队引入和实践成本很低,却能为团队带来极大收益! 1 团队研发面临的问题 不论是在传统的IT行业,还是互联网行业,研发团队在架构决策层面或多或少的都会面临以下问题或挑战: •新成员加入团队,对系统现有的架构决策可能会盲目遵守,只知其然,不知 ...

多线程安全问题原理和4种解决办法

博主头像 摘要:多线程访问了共享的数据,会产生线程安全问题。 本文分享自华为云社区《多线程安全问题原理和解决办法Synchronized和ReentrantLock使用与区别》,作者:共饮一杯无。 线程安全问题概述 卖票问题分析 单窗口卖票 一个窗口(单线程)卖100张票没有问题单线程程序是不会出现线程安全问 ...

微服务洞察,让微服务更透明

博主头像 微服务作为云原生时代下一种开发软件的架构和组织方法,通过将明确定义的功能分成更小的服务,并让每个服务独立迭代,增加了应用程序的灵活性,允许开发者根据需要更轻松地更改部分应用程序。同时每个微服务可以由单独的团队进行管理,使用适当的语言编写,并根据需要进行独立扩缩容。但微服务同样也并非“银弹”,在带来如... ...

<1···383940···50>