DDD-清晰架构落地项目简要设计
需求分析AI独立作为独立外部系统,非侵入业务系统AI能力可横向纵向扩展,可支持多个供应商能力及每个供应商多种类能力AI可独立配置,配置持久化数据库,当请求到达AI模块时,动态添加配置后再最终调用能力Manager权限模块支持Auth2.0的授权码授权模式和账号密码授权模式Manager模块支持多种负
需求分析AI独立作为独立外部系统,非侵入业务系统AI能力可横向纵向扩展,可支持多个供应商能力及每个供应商多种类能力AI可独立配置,配置持久化数据库,当请求到达AI模块时,动态添加配置后再最终调用能力Manager权限模块支持Auth2.0的授权码授权模式和账号密码授权模式Manager模块支持多种负
为什么要做多级缓存关于缓存的方案一般就是使用缓存中间件redis做缓存。redis的单机qps是万级别的,一般来说,redis已经够用了,没必要再增加其他缓存。我们做多级缓存实际考虑如下redis是公用的,可能会有预料之外的异常,比如部分节点不可用,或者集群宕机,这种情况下,是否能不影响产品功能,能
简介上面介绍了常见的mq中间件rabbitmq rocketmq kafka。由于引入一个多余的中间件会产生很多额外成本,所以很多项目考虑用redis实现mq的功能。mq的主要功能就是一个队列,一端生产数据push到队列,另一端消费数据pull到本地。只是后续衍生了很多mq附加功能,这些有 指定组和
简介mq是message queue简称,作为项目上常用的开源mq只有rabbitmq,rocketmq,kafka这三个。其中rabbitmq和kafka最为知名,rocketmq为阿里开源消息队列。从性能上来说rabbitmq的qps在万数量级,rocketmq的qps在十万级,kafka的qp
我一直认为一个现代成熟可行的商业软件至少有四种数据源,即mysql+redis+es+mq。mysql也有全文搜索的概念,redis也能用stream替换mq,但缺乏扩展性,一旦混用很有可能要造轮子要写屎山,当然这四个数据库都是泛指,根据具体应用mysql可以替换为TiDB,PostgreSQL,P
这属于docker与云原生的第二部分。DevOpsDevOps是Development和Operation的组合词,这个属性位于开发工程师和运维测试工程师的交集。突出强调的是自动化流程,减少开发人员和运维的冲突,提高效率。整个DevOps看是一个闭环:这个闭环从计划开始,然后编码,构建,测试,发布,
docker加jenkins能省去很大程度上后端做测试的时间,在深入了解docker的时候发现docker不止一种FS,docker的镜像很类似jvm的类模板,docker的网络也十分有趣,大型分布式架构通过docker和容器编排就能自动化部署,自动化压测,自动化监控等等,而这些各有特点的应用在以前
有七种设计规范或原则,有二十三种设计模式。设计模式并不是完全满足设计规范的甚至有的是冲突的,有些设计模式可能有很多方面类似但是有一方抽象概念不同也会归为两类设计模式。为了深入理解设计模式,需要一种辅助工具或者说是一种语言表达方式,叫UML(Unified Modeling Language),要懂得
简单记录下mysql相关知识,太深的涉及不到,也不会详解知识点所以叫备忘录。大概分为五个部分,索引,索引优化,六种日志,锁和mvcc,事务。必不可少的mysql服务器构造以下所有知识点都是基于此图展开。Mysql索引可以看到mysql有很多索引,但是常用的无非就两个,MyISAM和InnoDB。My