摘要: 领域-子域(核心域、通用域和支撑域) 限界就是领域的边界,而上下文则是语义环境。 限界上下文确定了微服务的设计和拆分方向,是微服务设计和拆分的主要依据。 实体与值对象 实体的特点:有 ID 标识,通过 ID 判断相等性,ID 在聚合内唯一即可。状态可变,它依附于聚合根,其生命周期由聚合根管理。实体一 阅读全文
posted @ 2021-01-21 11:36 嵌入式系统 阅读(157) 评论(0) 推荐(0)
摘要: 一体化架构 优点:简单,方便管理,节省人力,方便维护 缺点:只适合小团队开发,耦合高,构建发布不灵活 服务化架构: 优点:灵活,扩展性高 缺点:维护成本高 服务拆分原则: 1单一服务内部功能,高内聚低耦合 2先粗略拆分后细化 3拆分不影响日常迭代 4服务具备可扩展性 服务之间使用RPC框架互通 分布 阅读全文
posted @ 2021-01-14 10:09 嵌入式系统 阅读(130) 评论(0) 推荐(0)
摘要: 异步处理、解耦合和削峰填谷是消息队列在秒杀系统设计中起到的主要作用 异步处理可以简化业务流程中的步骤,提升系统性能; 削峰填谷可以削去到达秒杀系统的峰值流量,让业务逻辑的处理更加缓和; 解耦合可以将秒杀系统和数据系统解耦开,这样两个系统的任何变更都不会影响到另一个系统; 减少消息延迟的正确姿势想要减 阅读全文
posted @ 2020-12-24 11:39 嵌入式系统 阅读(298) 评论(0) 推荐(0)
摘要: 旁路缓存策略(Cache Aside)分为读策略和写策略 读策略:读缓存,缓存没有,读库,写缓存,返回数据。 写策略:更新库,删除缓存。 防止缓存穿透: 回种空值,把查询为空的值也要回种到缓存。 布隆过滤器,布隆过滤能判断不通过则元素一定不在集合中,通过则可能在集合中。 阅读全文
posted @ 2020-12-16 17:40 嵌入式系统 阅读(77) 评论(0) 推荐(0)
摘要: 池化技术:即数据库连接池,线程池。空间换时间,配置参数:最小连接数和最大连接数。 主从分离:读写分离,主库定时复制到从库 缺陷--同步延迟问题,优先考虑性能而不是数据的强一致性。 方案:第一种方案是数据的冗余。第二种方案是使用缓存。最后一种方案是查询主库。 分库分表: 垂直拆分-按业务模块,功能模块 阅读全文
posted @ 2020-11-25 10:43 嵌入式系统 阅读(104) 评论(0) 推荐(0)
摘要: 高并发系统设计的三大目标:高性能、高可用、可扩展 如何来优化性能从而提高系统的并发能力呢? 主要有两种思路:一种是提高系统的处理核心数,另一种是减少单次任务的响应时间 系统怎样做到高可用? 设计:failover(故障转移)、超时控制以及降级和限流。 运维:灰度发布、故障演练。 如何让系统易于扩展? 阅读全文
posted @ 2020-11-17 10:42 嵌入式系统 阅读(383) 评论(0) 推荐(0)
摘要: 通用设计思想: Scale-out/Scale-up:服务器横行扩展/服务器性能提高 缓存:使用中间件存储 异步:消息队列处理 系统架构应该逐步演进: 最简单的设计满足业务需求,选择最熟悉的技术体系。 随着流量增加和业务变化修正架构中存在问题。 当对架构的小修小补无法满足需求时,再考虑重构。 架构分 阅读全文
posted @ 2020-11-13 15:21 嵌入式系统 阅读(152) 评论(0) 推荐(0)
摘要: EF.Database.SqlQuery<T> db.Database.SqlQuery<int>("select qty from table").First(); 如果SQL会返回多行或者无数据返回,改代码就会报错【数据读取器包含多个字段。多个字段对于 EDM 基元或枚举类型无效。】 解决方法有 阅读全文
posted @ 2020-09-17 23:54 嵌入式系统 阅读(788) 评论(0) 推荐(0)
摘要: 在说怎么用C#调用RFC接口之前,先讲讲自己对SAP接口的理解。 1,SAP的常用接口 PI接口:即我们常用的webservice RFC接口:即是这里要讲的一种接口方式,至于定义嘛,有请百度百科 2,RFC接口的参数 input类型:即键值对,可以理解成webapi的key-value那样的参数。 阅读全文
posted @ 2020-07-14 00:48 嵌入式系统 阅读(3478) 评论(0) 推荐(0)