领域驱动设计(DDD)实践之路(三):如何设计聚合
【领域驱动设计实践之路】往期精彩文章: 《领域驱动设计(DDD)实践之路(一)》 主要讲述了战略层面的DDD原则 《领域驱动设计(DDD)实践之路(二):事件驱动与CQRS》分析了如何应用事件来分离软件核心复杂度。 这是“领域驱动设计实践之...
【领域驱动设计实践之路】往期精彩文章: 《领域驱动设计(DDD)实践之路(一)》 主要讲述了战略层面的DDD原则 《领域驱动设计(DDD)实践之路(二):事件驱动与CQRS》分析了如何应用事件来分离软件核心复杂度。 这是“领域驱动设计实践之...
大多数人面试的时候经常会被问到:你简历上有高负载高并发的经验,那到底你的系统是怎样设计的? 如果没有过相关的项目经验,大多数同学被问到这个问题压根儿没什么思路去回答,不知道从什么地方说起,其实,就算没有相关的经验,只要事先编好...
2020年05月14日 阅读 218, 前言 本文非常长,阅读需要勇气。 作者尝试在移动端总结出一套面向页面的架构设计,暂定命名为POA(page-oriented architecture),因为核心的关注点在于page,阅读本文更多的是...
2020年05月14日 阅读 930, 背景介绍 直播系统主要是以内容为主,好的内容可以吸引用户来欣赏,也能为公司带来可观的收益,既然有传播的入口,那么必然有负面内容的出现,随着平台用户量不断扩大,内容的监管也是必不可少的一个环节,比如国家...
一. 动态调整内存 <domain> ... <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>1048576<...
关于CPU配置模式,深度实践KVM一书中有概要讲述,最近做KVM的CPU host 模式配置做了相关了解,但因为宿主机的型号种类较多可能无法进一步发布,现做...
1. Nginx https相关配置 本文主要针对以下两个主要配置从代码层次进行分析: 协议配置: Syntax: ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2] [TLS...
在Go 1.13版本中,GOPROXY代理比较成熟了,可以很方便的设置代理。 设置GOPROXY代理 目前国内比较好用的代理,可以用goproxy.cn 设置GOPROXY代理 go env -w GOPROXY=https://...
今天在做库迁移的时候,因为涉及从集群迁移到单实例,遇到一些问题,记录了解决过程 当前GTID_EXECUTED参数已经有值,而从集群倒出来的dump文件中包含了SET @@GLOBAL.GTID_PURGED的操作 解决方法: 方法一:re...
为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面...
在实际业务场景中,为了提高系统的实时性,减轻日志存储压力,需要将日志直接生产至消息中间件,减少flume或flumted收集所导致的延时及性能压力,本文实现了一下功能: 实现了一个静态调用的异步生产者 AsyncProducer 封装...
前言 临近五一节,想到有 5 天假期,小林开始飘了。 写个简单的 Bash 脚本都不上心了,写完连检查都不检查,直接拖到到实体服务器跑。 结果一跑起来,发生不对劲,怎么一个简单脚本跑了 10 秒还没结束,于是立马直接 ctrl + c 一顿...
在使用KVM使用过程中,经常会需要增加网卡或硬盘。当然,在允许重启的情况下,可以通过”virsh edit 虚拟机名”的方式编辑xml配置文件,保存退出后。通过start 加载新的配置文件启动,从而完成新增硬件的目的...
1、使用fuser命令 fuser -m -v /mnt 可以查看到当前占用/mnt目录的进程号,然后用kill杀死它。 也可以使用fuser -m -k /mnt 直接杀死这个进程。 如果你不是很明确是否要杀死所有霸占设备的程序,你还可以...
概述 go语言版本的kafakaAPI 准备 golang sarama 简单使用 生产和消费的过程都是通过一个配置开始的. 生产者 //设置配置 config := sarama.NewConfig() //等待服务器所有副本都保存成功后...
简介 flannel 是为了解决容器的跨主机网络问题而出现的项目,可以提供多种类型的网络模型: 普通网络:udp、vxlan、hostgw 平台网络:gce、aws 使用之前,需要在 etcd 中写入要管理网络的配置,比如 : { "Net...
1. 插件 Package Control 唯一需要手动安装的插件,官方介绍: The Sublime Text package manager that makes it exceedingly simple to find, insta...
首次看到 python 的 decorator 的时候,感到非常新奇,也非常困惑。这个看起来很酷,在各种源码里经常出现的家伙到底是什么意思,怎么使用? @myDecorator def aFunction(): print("inside ...
什么是 kubernetes? kubernetes (经常被缩写成 k8s)是 google 开源的一套自动化容器管理平台,前身是 Borg,用于容器的部署、自动化调度和集群管理。目前 kubernetes 有以下的特性: 容器的自动化部...
Linux 系统的启动过程 简介 我们都知道:操作系统运行的代码是在硬盘上的,最终要跑到内存和 CPU 上,才能被我们使用。 那从摁下电源键到看到系统界面,操作系统是怎么霸占了所有的硬件资源,把自己加载到内存开始运行的呢? 可以想到有两个可...
tcpdump 命令使用简介 简单介绍 tcpdump 是一款强大的网络抓包工具,运行在 linux 平台上。熟悉 tcpdump 的使用能够帮助你分析、调试网络数据。 要想使用很好地掌握 tcpdump, 必须对网络报文(TCP/IP 协...
1. etcd 简介 coreos 开发的分布式服务系统,内部采用 raft 协议作为一致性算法。作为服务发现系统,有以下的特点: 简单:安装配置简单,而且提供了 HTTP API 进行交互,使用也很简单 安全:支持 SSL 证书验证 快速...
1. 初识 http 是典型的 C/S 架构,客户端向服务端发送请求(request),服务端做出应答(response)。 golang 的标准库 net/http 提供了 http 编程有关的接口,封装了内部TCP连接和报文解析的复杂琐...
什么是 Profiling? Profiling 这个词比较难翻译,一般译成画像。比如在案件侦破的时候会对嫌疑人做画像,从犯罪现场的种种证据,找到嫌疑人的各种特征,方便对嫌疑人进行排查;还有就是互联网公司会对用户信息做画像,通过了解用户各个...
Ubuntu 20.04 LTS 已经发布,代号 Focal Fossa,这是 Ubuntu 的第 8 个长期支持版本,将提供 5 年支持。桌面、服务器版本和云等版本全线更新,并且一系列 Ubuntu 衍生系统也更新到 20.04,包括 K...
程序功能 此程序的主要功能是将文件中数据导入到clickhouse数据库中。 【问题描述】 服务器内存每隔一段时间会耗尽 【问题分析】 由于使用的是go语言开发的,所以采用了业界流行的工具pprof。 参考URL: https://cizi...
Kafka Kafka集群的架构 broker topic partition:分区,把同一个topic分成不同的分区,提高负载 leader:分区的主节点(老大) follower:分区的从节点(小弟) Consumer Group 生产...
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是 Redis 也会发生延迟时,这是就需要我们对其产生原因有深刻的了解,以便于快速排查问题,解决 Redis的延迟问题 一条命令执行过...
概述 Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间的应用程序之后,成为Linux操作系统。Linux是自由软件和开放源代码软件发展中最著名的例子。 下面...
最新评论
好
如果不是 跟分区, 可以卸载设备后, 使用 extundelete 尝试恢复下 另外如果单文件被删除,并且 inode 节点未释放, 可以去 /proc/ 下把文件复制出来.
跟SSD硬盘4K对齐差不多呀.