随笔分类 - 架构
摘要:k8s 是一个开源的容器集群管理系统,用于管理容器化的工作负载和服务,可以实现容器集群的自动化部署、自动扩容、维护等功能。 docker是一个开源的应用容器引擎,开发者可以打包其应用及依赖到一个可移植的容器中,发布到linux机器上,也可以实现虚拟化。 为什么需要k8s管理docker集群? doc
阅读全文
摘要:看到一篇文章整理了设计原则,这边觉得很可以,所以搬来总结一下 单一职责 每个微服务只应担负一个职责,比如 商品 购物车 应该为两个微服务。 高内聚 将关系亲密的微服务应该放在一起,比如订单与订单金额统计。 低耦合 隐藏内部实现:内部功能作为对象的一部分,无需再对外暴露。 避免代码库共享:各个库代码隔
阅读全文
摘要:领域驱动设计(DDD)是一种能通过将实现连接到持续进化的模型来满足复杂需求的软件开发方法。 DDD的前提: 把项目的主要重点放在核心领域和领域逻辑上 把复杂的设计放在领域模型上 发起技术专家和领域专家之间的创造性协作,以迭代方式完善解决特定领域问题的概念模型。 领域驱动设计的模型由4个基本层组成 表
阅读全文
摘要:数据驱动设计,是由数据支持并帮助用户了解目标受众的设计。 数据驱动可以证明产品的工作运行是在正确的轨道上的,它可以 发掘新趋势 揭示用户的痛点和机会 通过正价客观性改善设计。 数据驱动设计的重要性 不考虑数据可能对项目的成功产生严重影响 没有执行数据调查会导致浪费时间精力人力去开发一个无效的项目。
阅读全文
摘要:事件溯源是一种架构模式,是借鉴数据库事件日志的一种数据持久方式。 它存在以下几个特点: 整个系统以事件为驱动,所有业务都由事件驱动来完成。 系统的数据以事件为基础,事件要保存在某种存储上。 业务数据只是一些由事件产生的视图,不一定要保存到数据库中。 为什么事件溯源很重要? 数据是我们珍贵的资源,由事
阅读全文
摘要:ORM(Object/Relation Mapping),对象关系映射,提供了概念性的、易于理解的模型化数据方法。 ORM方法论基于三个核心原则: 简单:已最基本的形式建模数据 传达性:数据库结构被任何人都能理解的语言文档化。 精确性:基于数据模型创建正确标准化的结构。 ORM 模型一般以中间件形式
阅读全文
摘要:CQRS(Command Query Responsibility Segregation)命令查询责任分离,是指将数据存储的读取和更新操作分开的一种模式。 实施CQRS可以提高性能、可拓展性和安全性。 CQRS的目标 使用多种模型来表示相同的数据,与可拓展性、可用性、安全性、性能都没有关系 CQR
阅读全文
摘要:RPC (Remote Procedure Call Protocol)远程过程调用协议,是一种通过网络从远程计算机程序上请求服务而不需要了解底层网络技术的协议。 RPC 可以使得程序能够像访问本地系统资源一样去访问远端系统资源。 简单地说,RPC就是从一台计算机上通过参数传递的方式调用另一台服务器
阅读全文
摘要:什么是AOP? AOP是面向切面编程,全称 Aspect-Oriented-Programming。它能够让我们在不影响原有功能的前提下为软件横向拓展功能。 什么是横向拓展? web开发为 Controller -> Service -> Dao,此结构为纵向,具体的某一层则为横向。AOP可以作用于
阅读全文
摘要:OOP(面向对象编程 Object-Oriented Programming),是一种以对象为基础的编程模式。 优点: 易维护。 易拓展。 对象可重复使用。 四大特性: 封装性:对象属性是隐藏的,对象属性修改需要通过对象方法。 继承性:子类可以把父类的属性和方法都继承过来,无需重新定义。 多态性:多
阅读全文
摘要:需要使用幂等的场景: 前端重复提交 接口超时重试 消息队列重复消费 解决方案: token机制:①客户端请求获取token,服务端生成一个唯一ID作为token存在redis中;②客户端第二次请求时携带token,服务端校验token成功则执行业务操作并删除token,服务端校验token失败则表示
阅读全文
摘要:RESTful API 是服务和消费数据的一种方式,它需要满足以下几个约束条件 客户端-服务器模型:服务器为数据提供服务,客户端连接到服务器以使用数据,客户端与服务器交互通过http请求进行,通过请求传输数据。 无状态:每个请求都被视为独立请求,服务器不应跟踪可能影响将来请求结果的任何内部状态。 统
阅读全文
摘要:今天我决定总结一下面向过程编程和面向对象编程的区别。 大学时学的是C语言,没有对象的概念,拿到功能设计图就直接写步骤将功能实现,一体化。而现在工作用的是php语言,拿到需求,会归类、拆解模块、封装类,再通过类调用函数实现。其实在早期,我受C语言影响,很难转变自己的面向过程思维,实现功能的逻辑虽然用的
阅读全文