摘要:
在微服务架构下,每个服务对应一个数据库,这就出现了原来单体中对同一个库的操作变成了跨服务数据库的操作。 遇到有事务约束的场景,比如转账汇款、订单状态和库存扣减,就从本地事务过渡到分布式事务来了。 可以用利用最终一致性解决这个问题 最终一致性:不同服务节点再一段时间后,节点间的数据会最终达到一致的状态 阅读全文
摘要:
一、服务拆分的三个维度 三个维度拆分后,微服务的架构图就如下图所示: API GATEWAY服务网关: 身份认证、权限管理、服务动态路由、数据的聚合(比如房产详情页就有详情、评论、推荐,这些都属于不同的服务,这些我们就需要在服务网关中去做) Service Register:注册中心 服务的注册与发 阅读全文
摘要:
一.单体架构和微服务架构的比较 1.单体架构的优势和不足 单体架构的优势:在项目的初期便于开发、便于测试、便于部署 单体架构的不足: 复杂性高-代码难以理解,难以修改和重构 交付效率低-项目整体部署耗时长、难以定位问题、影响范围广、风险大、发布频次低 伸缩性差-单体只能按整体进行横向扩展,无法分模块 阅读全文
摘要:
REST API风格 就是用URL定位资源,用HTTP描述操作。 看Url就知道要什么看http method就知道干什么看http status code就知道结果如何 主要是针对资源进行资源定位和资源操作。 资源定位:url的格式,url中不带参数。参数从url的路径中获得。 资源操作:使用ht 阅读全文
摘要:
动态规划 矩阵的总路径数 题目描述:统计从矩阵左上角到右下角的路径总数,每次只能向右或者向下移动。 思路: 我们可以把棋盘的左下角看做二维坐标的原点(0,0),把棋盘的右上角看做二维坐标(M,N)(坐标系的单位长度为小方格的变长) 用f(i,j)表示移动到坐标f(i,j)的走法总数,其中0=<i,j 阅读全文