随笔分类 - [20]DesignAnalysis设计分析
-
领域驱动设计
摘要:领域驱动设计 领域驱动是十五年前,由Eric Evans提出的解决软件工程复杂性问题的方法,作者从自己多年软件开发的角度出发,通过引入领域驱动设计的概念以及一系列战略设计模式和战术方法,为混沌的软件开发领域带来了一缕阳光。 在过去的许多年,我经历了从技术岗位到管理岗位的变化,也深深的意识到,每一个软 阅读全文
-
一个接口,多个实现
摘要:一个接口,多个实现 目录一、源起:一个接口,多个实现二、根据当前上下文来过滤目标服务三、将这个方案做得更加通用一点四、我们是否走错了方向? 一、源起:一个接口,多个实现 上周在公司做了一个关于.NET Core依赖注入的培训,有人提到一个问题:如果同一个服务接口,需要注册多个服务实现类型,在消费该服 阅读全文
-
程序卡住了还是怎么了?
摘要:程序卡住了还是怎么了?起因 客户说:“今天的预报又没有发出去,帮忙看下怎么回事?” “...” 经过 登陆服务器,发现程序一直在打印 running running running ... 这是代码中写的 public static void Main(string[] args) { Consol 阅读全文
-
CQRS的全称是Command Query Responsibility Segregation
摘要:CQRS时,我们在讨论些神马? 当我写下这个标题的时候,我就有些后悔了,题目有点大,不太好控制。但我还是打算尝试一下,通过这篇内容来说清楚CQRS模式,以及和这个模式关联的其它东西。希望我能说得清楚,你能看得明白,如果觉得不错,右下角点个推荐! 先从CQRS说起,CQRS的全称是Command Qu 阅读全文
-
事件驱动
摘要:事件驱动编程 看完公司的基于Netty的游戏框架,框架中用到了多态,函数式编程和事件驱动编程,第一次看到事件驱动的时候,就想到跟观察者模式很像. 事件驱动初上手感觉还很好用,在我自己写的项目里,要写很多爬虫,比如下面爬虫的例子,我只是想关心拼接URL地址,和关心不同的网站怎么解析DOM元素,写一个回 阅读全文
-
雪崩效应
摘要:微服务架构-雪崩效应 微服务化产品线,每一个服务专心于自己的业务逻辑,并对外提供相应的接口,看上去似乎很明了,其实还有很多的东西需要考虑,比如:服务的自动扩充,熔断和限流等,随着业务的扩展,服务的数量也会随之增多,逻辑会更加复杂,一个服务的某个逻辑需要依赖多个其他服务才能完成。一但一个依赖不能提供服 阅读全文
-
规则引擎?
摘要:规则引擎? 一天,朱斯参加了一场code Review研讨会。会上的一群人正在讨论着如何对祖传代码进行变更,大家你一言,我一语,场面十分热闹! 突然,只见人群中的一个人满面愁容,说道:"昨天在项目中看到下面这样一段代码,分支太多了!维护起来很烦啊!" if(day == "周一"){ System. 阅读全文
-
理解serverless无服务
摘要:理解serverless无服务 阅读目录 一:什么是serverless无服务? 二:与传统模式架构区别? 三:serverless优缺点? 四:使用serverless的应用场景有哪些? 回到顶部 一:什么是serverless无服务? serverless中文的含义是 "无服务器",但是它真正的 阅读全文
-
消息队列
摘要:一文读懂消息队列一些设计 高可用 常用的消息队列的高可用是怎么设计的呢? 消息队列一般都有一个nameserver服务,用来检测broker是否存活,或者处理能力上是否存在延迟。这样在发送消息时就可以规避将消息发送到宕机的broker上,也避免因为网络等原因消息处理失败。 那么针对于以上两种情况,消 阅读全文
-
幂等设计
摘要:系统幂等设计 前言 幂等简单的定义: 系统中的多次操作,不管多少次,都应该产生一样的效果,或返回一样的效果。 比如实际的业务请求为创建一个活动,理论上需要根据业务形态开发幂等创建活动的接口,这样在相同参数调用接口多次创建活动时,只可以创建成功一次。 由于查询天生的是幂等请求,所以针对于查询场景可以不 阅读全文
-
领域、业务、业务模型
摘要:DDD战略设计相关核心概念的理解 Posted on 2019-06-05 15:41 netfocus 阅读(2163) 评论(16) 编辑 收藏 DDD战略设计相关核心概念的理解 前言 本文想再讨论一下关于领域、业务、业务模型、解决方案、BC、领域模型、微服务这些概念的含义和关系。初衷是我发现现 阅读全文
-
缓存一致性与可见性
摘要:缓存一致性与可见性 什么样的数据会存入缓存? 编译器或CPU可以明确知晓的,可能被经常访问的数据。例如一个在循环体中的变量,因为这个变量需要经常访问,如果每次都从主存中拿,那就太慢了。 缓存一致,是跟谁一致? 是跟主存一致,当主存中的对应数据发生变动的时候,CPU中的缓存也会随之变动。例如Cache 阅读全文
-
Deep Module(深模块)
摘要:Deep Module(深模块) 目录 1,模块化设计 2,接口里有什么 3,抽象 4,深模块 5,浅模块 6,Classitis 7,例子 8,结论 目录 1,模块化设计 2,接口里有什么 3,抽象 4,深模块 5,浅模块 6,Classitis 7,例子 8,结论 正文 类是不是越小越好?最近在 阅读全文
-
公众号及H5支付
摘要:本篇主要记录微信支付中公众号及H5支付全过程。 1|1准备篇 公众号或者服务号(并开通微信支付功能)、商户平台中开通JSAPI支付、H5支付。 1|2配置篇 公众号或者服务号中 开发 开发者工具 web开发者工具 绑定为开发者 公众号或者服务号中 公众号设置 功能设置 :填写业务域名、JS安全域名、 阅读全文
-
数据库压死
摘要:为什么300的并发能把支持最大连接数4000数据库压死? 问: 为什么300的并发能把支持最大连接数4000数据库压死? 买了一台数据库,最大连接数的参数是 4000,看起来很棒!但是 cpu 和内存并不咋好!是 2c4g的超低配制。 但是想着反正业务量也不大,不如先扛着,等业务量上来再进行升配! 阅读全文
-
商品促销代码的优雅性
摘要:-论商品促销代码的优雅性 据我所知,几乎所有的互联网公司都带有和电商有关的项目,而且在大多数公司里面还是举足轻重的重头戏,比如京东,淘宝。既然有电商项目,必然会涉及到商品,一旦有商品就会有各种促销活动,比如 满100减20,三八妇女节9折等等类似活动。作为一个coder怎么才能在实现产品狗的需求下, 阅读全文
-
保障系统的稳定性
摘要:如何保障系统的稳定性 本文转载于本人的微信公众号中的文章,最新文章请关注右侧公众号。 目录背景与挑战何为系统稳定性影响系统稳定性因素如何保障系统稳定性总结 一、背景与挑战 1. 背景 3月3日凌晨,阿里云宕机故障 惊魂三小时的故障,让华北地区不少公司的APP、网站和内部系统纷纷瘫痪。消息瞬间占领的社 阅读全文
-
中台与微服务战略
摘要:架构师必须要知道的阿里的中台战略与微服务 传统企业平台都是烟囱式的系统架构,企业内部为了迎合业务发展不停的打造各种系统,导致各系统间的重复功能建设和维护带来的重复投资。重复投资不仅消耗的是人力,财力还有时间。但打通烟囱式系统间交互的集成和协作成本高昂,各大企业不得不借助ESB产品,构建企业服务总线, 阅读全文
-
数据库快速迁移10亿级数据
摘要:数据库快速迁移10亿级数据 菜菜呀,咱们业务BJKJ有个表数据需要做迁移 程序员主力 Y总 现在有多少数据? 菜菜 大约21亿吧,2017年以前的数据没有业务意义了,给你半天时间把这个事搞定,绩效给你A 程序员主力 Y总 有绩效奖金吗? 菜菜 钱的事你去问X总,我当家不管钱 程序员主力 Y总 ... 阅读全文
-
可靠的连接池
摘要:可靠的连接池 在应用中连接池的使用非常普遍,如访问数据库,Redis等等网络产品的Client都集成了连接池机制;由于最近在编写微服务网关因此涉及到连接池的编写,在这里分享一下实现一个可靠连接池的心得。其实编写一个连接池并不因难,基础的Stack结构就能满足需要;但在设计的时候有些情况是需要考虑的, 阅读全文