百独托管7500 紫田网络超高转化播放器收cps[推荐]速盾CDN 免实名免备防屏蔽阿里云 爆款特卖9.9元封顶提升alexa、IP流量7Q5团队
【腾讯云】中小企福利专场【腾讯云】多款产品1折起高防 随时退换 好耶数据小飞国外网赚带你月入万元炎黄网络4H4G10M 99每月
香港带宽CN2/美国站群优惠中客数据中心 服务器租用联盟系统移动广告平台 中易企业专场腾讯云服务器2.5折九九数据 工信部正规资质
腾讯云新用户大礼包代金券高价收cpa注册量高价展示【腾讯云】2核2G/9.93起租服务器找45互联 随时退换阿里云 短信服务 验证秒达

[国内信息] 腾讯云轻量应用服务器2核2G4M仅20元 [复制链接]
查看:390926 | 回复:641

141

主题

9万

帖子

1030

积分

落伍者(两全齐美)

Rank: 2

贡献
8388
鲜花
24
注册时间
2008-10-11

落伍者落伍手机绑定

 楼主| 发表于 2022-9-9 16:52:32 | 显示全部楼层 来自 中国河北衡水
Model(领域对象):领域对象是我们正常业务应该用的领域业务模型,它的字段和方法应该和业务语言保持一致,不需要进行持久化和序列化,他主要存在与内存中。也就是说,所以 Model 和 DO 可能字段属性都不一样。
免费领取2000元阿里云代金券 https://www.aliyun.com/minisite/goods?userCode=2a7uv47d
回复 支持 反对

使用道具 举报

141

主题

9万

帖子

1030

积分

落伍者(两全齐美)

Rank: 2

贡献
8388
鲜花
24
注册时间
2008-10-11

落伍者落伍手机绑定

 楼主| 发表于 2022-9-10 13:32:59 | 显示全部楼层 来自 中国河北衡水
主要的原因就是为了隔离接口数据变化,防止外在服务的数据变化影响应用层的代码,如果真的需要修改那么直接在防腐层中进行修改就好了。
免费领取2000元阿里云代金券 https://www.aliyun.com/minisite/goods?userCode=2a7uv47d
回复 支持 反对

使用道具 举报

141

主题

9万

帖子

1030

积分

落伍者(两全齐美)

Rank: 2

贡献
8388
鲜花
24
注册时间
2008-10-11

落伍者落伍手机绑定

 楼主| 发表于 2022-9-11 20:31:49 | 显示全部楼层 来自 中国河北衡水
按照我自己的习惯,笔者是按照互粉的领域来进行包构建的,比如这里的 user 以及 authority 就是不同的领域。为什么这么划分呢?主要考虑到未来万一有新的拆分,我们可以直接按照对应的域进行拆分
免费领取2000元阿里云代金券 https://www.aliyun.com/minisite/goods?userCode=2a7uv47d
回复 支持 反对

使用道具 举报

141

主题

9万

帖子

1030

积分

落伍者(两全齐美)

Rank: 2

贡献
8388
鲜花
24
注册时间
2008-10-11

落伍者落伍手机绑定

 楼主| 发表于 2022-9-13 09:16:31 | 显示全部楼层 来自 中国河北衡水
我们都知道以 RocketMQ 为代表的消息(队列)起源于不同应用服务之间的异步解耦通信,与以 Dubbo 为代表的 RPC 类服务通信一同承载了分布式系统(服务)之间的通信场景,所以服务间的消息分发是消息的基础诉求。
免费领取2000元阿里云代金券 https://www.aliyun.com/minisite/goods?userCode=2a7uv47d
回复 支持 反对

使用道具 举报

141

主题

9万

帖子

1030

积分

落伍者(两全齐美)

Rank: 2

贡献
8388
鲜花
24
注册时间
2008-10-11

落伍者落伍手机绑定

 楼主| 发表于 2022-9-13 12:27:10 | 显示全部楼层 来自 中国河北衡水
特性分析
尽管无论是终端消息还是服务端消息,其本质都是消息的发送和接受,但是终端场景还是有和服务端不太一样的特点,下面简要分析一下:
免费领取2000元阿里云代金券 https://www.aliyun.com/minisite/goods?userCode=2a7uv47d
回复 支持 反对

使用道具 举报

141

主题

9万

帖子

1030

积分

落伍者(两全齐美)

Rank: 2

贡献
8388
鲜花
24
注册时间
2008-10-11

落伍者落伍手机绑定

 楼主| 发表于 2022-9-13 15:31:08 | 显示全部楼层 来自 中国河北衡水
在 RocketMQ 里面实际上有这个类似的匹配过程,其通过将某个 Queue 通过 rebalance 方式分配到消费组内某台机器上,消息通过 Queue 就直接对应上了消费机器
免费领取2000元阿里云代金券 https://www.aliyun.com/minisite/goods?userCode=2a7uv47d
回复 支持 反对

使用道具 举报

141

主题

9万

帖子

1030

积分

落伍者(两全齐美)

Rank: 2

贡献
8388
鲜花
24
注册时间
2008-10-11

落伍者落伍手机绑定

 楼主| 发表于 2022-9-13 19:20:23 | 显示全部楼层 来自 中国河北衡水
另外,终端消息有一个很重要的区别是可靠性保证的 ACK 必须是具体到一个终端设备的,而服务端消息的可靠性在于只要有一台消费者机器成功处理即可,不太关心是哪台消费者机器
免费领取2000元阿里云代金券 https://www.aliyun.com/minisite/goods?userCode=2a7uv47d
回复 支持 反对

使用道具 举报

141

主题

9万

帖子

1030

积分

落伍者(两全齐美)

Rank: 2

贡献
8388
鲜花
24
注册时间
2008-10-11

落伍者落伍手机绑定

 楼主| 发表于 2022-9-14 09:35:24 | 显示全部楼层 来自 中国河北衡水
但是有一个地方我们使用了写放大模式,就是通配符匹配,因为接受者订阅的是通配符和消息的 Topic 不是一样的内容,接受者读消息时没法反推出消息的 Topic,
免费领取2000元阿里云代金券 https://www.aliyun.com/minisite/goods?userCode=2a7uv47d
回复 支持 反对

使用道具 举报

141

主题

9万

帖子

1030

积分

落伍者(两全齐美)

Rank: 2

贡献
8388
鲜花
24
注册时间
2008-10-11

落伍者落伍手机绑定

 楼主| 发表于 2022-9-14 14:55:52 | 显示全部楼层 来自 中国河北衡水
集中存储在线订阅关系,这个也是常见的一种做法,如保存到 Rds、Redis 等,但要保证数据的实时一致性也有难度,而且要进行匹配查找对整个消息的实时链路 RT 开销也会有一定的影响。
免费领取2000元阿里云代金券 https://www.aliyun.com/minisite/goods?userCode=2a7uv47d
回复 支持 反对

使用道具 举报

141

主题

9万

帖子

1030

积分

落伍者(两全齐美)

Rank: 2

贡献
8388
鲜花
24
注册时间
2008-10-11

落伍者落伍手机绑定

 楼主| 发表于 2022-9-14 19:44:59 | 显示全部楼层 来自 中国河北衡水
如上图所示,一般一个分布式 KV 读写流程是,Key 通过 hash 得到一个逻辑 slot,slot 通过一个映射表得到具体的 node。Hash 算法一般是固定模数,映射表一般是集中式配置或使用一致性协议来配置。节点扩缩一般通过调整映射表来实现。
免费领取2000元阿里云代金券 https://www.aliyun.com/minisite/goods?userCode=2a7uv47d
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2024-11-24 12:44 , Processed in 0.056688 second(s), 26 queries , Gzip On.

返回顶部