![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
分布式专题
分布式专题
笨笨的程序猿
这个作者很懒,什么都没留下…
展开
-
领域驱动设计(DDD)之Repository模式的个人理解
贫血领域模型的带来的问题 1.代码的健壮性差 2.强依赖底层代码 3.代码逻辑大量重复 贫血领域模型的带来的问题的原因归纳 1.数据库思维 2.脚本思维 3.贫血模式的简单 数据模型(Data Model)与领域模型(Domain model)的区别 数据模型:强调的是业务数据如何持久化、数据之间的关系 领域模型:强调的是业务逻辑中。数据如何联动 组件、固件、硬件的简单理解 硬件:底层固话的东西,比如数据库相关 软件:业务代码 固件:将硬件与软件建立联系 entity、DO、DTO的区别 entity:业务原创 2021-03-09 17:49:15 · 1051 阅读 · 2 评论 -
领域驱动设计(DDD)基本概念的自我理解
DDD个人主要理解 它微服务的设计思想 主要由子域与边界上下文组成 子域:领域驱动为每一个子域设计独立的领域模型,每一个子对应着一个业务 边界上下文:子域的边界 它是对面向对象设计的增强 与数据驱动的区别 数据驱动:我们传统的代码架构是dao、service、controller三层组成,大多数的业务本质是对数据库表的增删改查(比如开发一个简单用户注册系统) 数据驱动的痛点: (1) 存在接口定义不狗清晰(参数定义不够清晰,比如都用string类型去接收) (2) 存在业务代码不够清晰(比如核心业务代码中原创 2021-03-03 17:05:09 · 417 阅读 · 2 评论 -
手写简单版本的RPC
一、实现思路 基于socket与serverSocket网络编程 二、实现方案 1、rpc-server: (1)、rpc-server-api a.创建 ISayHellow public interface ISayHellow { void sayHellow(); } b.创建 IStudyHard public interface IStudyHard { void studyHard(); } c.创建 RpcRequest public class RpcRequest i原创 2020-11-03 20:12:11 · 103 阅读 · 0 评论 -
分布式服务协调员zookeeper - 应用场景和监控
zookeeper在分布式系统中作为协调员的角色,可应用于Leader选举、分布式锁、配置管理等服务的实现。以下我们从zookeeper提供的API、应用场景和监控三方面学习和了解zookeeper(以下简称ZK)。 ZK API ZK以Unix文件系统树结构的形式管理存储的数据,图示如下: 其中每个树节点被称为znode,每个znode类似一个文件,包含文件元信息(meta data)和数据。 以下我们用server表示ZK服务的提供方,client表示ZK服务的使用方,当client连接ZK时,相应创原创 2020-06-11 15:12:40 · 199 阅读 · 0 评论 -
高并发环境的下幂等操作
一.什么是幂等 幂等就是多次重复提交执行与一次提交执行的结果影响一样 二.为什么要幂等 在高并发的环境下,很频繁就触发多次请求:1.前端页面多次提交 2.网络重发、系统bug重试、nginx重发3.一个业务请求只对应一个订单号 三.如何幂等 1.select+update:在update操作之前先执行select查询操作,适用并发不多的场景 2.悲观锁:通常与事务放在一起 selec...原创 2019-05-16 22:01:07 · 186 阅读 · 0 评论