架构
文章平均质量分 82
架构
梁云亮
电 话:13264494458
微 信:13264494458
扣 扣:369950806
展开
-
【精品】商品规格 数据库表 设计
【代码】【精品】商品规格 数据库表 设计。原创 2023-09-06 18:14:25 · 596 阅读 · 0 评论 -
权限模型理论基础
比如:部门经理只查询本部门员工信息,在service接口提供一个部门id的参数,controller中根据当前用户的信息得到该用户属于哪个部门,调用service时将部门id传入service,实现该用户只查询本部门的员工。细粒度权限管理是系统业务逻辑的一部分,如果在业务层去处理相对比较简单,如果将细粒度权限管理统一在系统架构级别去抽取,比较困难,即抽取的功能可能也存在扩展不强的缺点。粗粒度权限管理比较容易将权限管理的代码抽取出来在系统架构级别统一处理。系统有一个用户列表查询页面,对用户列表查询分权限。原创 2023-07-30 18:02:13 · 169 阅读 · 0 评论 -
采用消息中间件实现最终一致性的分布式事务
基于可靠消息服务的方案是通过消息中间件保证上下游应用数据操作的一致性。假设有A和B两个系统,分别可以处理任务A和任务B。此时存在一个业务流程,需要将任务A和任务B在同一个事务中处理。就可以使用消息中间件来实现这种分布式事务。原创 2023-02-02 22:47:25 · 1076 阅读 · 0 评论 -
一次网络请求的流程
笼统来说,一次网络请求会经过以下几个节点。原创 2022-11-03 14:09:08 · 1163 阅读 · 1 评论 -
Http 状态码
状态码(Status Codes)状态码意义1xx信息状态码。表示所有请求已经被接受,正在被处理。2xx正确状态码。表示请求已经被正确接收并处理,没有错误等发生。3xx重定向状态码。需要进一步操作以完成请求4xx客户端请求错误。请求包含语法错误或无法完成请求5xx服务器错误。服务器在处理请求的过程中发生了错误。常见HTTP响应状态码:1xx - 信息提示表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx 响应。100 -原创 2021-08-20 16:19:02 · 613 阅读 · 2 评论 -
cap原则
换句话说,分区容忍性是站在分布式系统的角度,对访问本系统的客户端的再一种承诺:我会一直运行,不管我的内部出现何种数据同步问题,强调的是不挂掉。对于客户端的每次读操作,要么读到的是最新的数据,要么读取失败。换句话说,一致性是站在分布式系统的角度,对访问本系统的客户端的一种承诺:要么我给您返回一个错误,要么我给你返回绝对一致的最新数据,不难看出,其强调的是数据正确。换句话说,可用性是站在分布式系统的角度,对访问本系统的客户的另一种承诺:我一定会给您返回数据,不会给你返回错误,但不保证数据最新,强调的是不出错。.原创 2022-08-29 23:12:00 · 184 阅读 · 0 评论 -
PO,BO,VO,DTO和POJO
PO,BO,VO,DTO和POJOPOJOplain ordinary java object 无规则简单java对象一个中间对象,可以转化为PO、DTO、VO。POpersistent object 持久对象有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。PO中不应该包含任何对数据库的操作。VOvalue object 值对...原创 2019-11-12 09:38:51 · 2189 阅读 · 13 评论 -
【精品】 Java中类设计原则
1.单一职责原则(Single Responsibility Principle,简称SRP)单一职责原则定义是:不要存在多于一个导致类变更的原因。通俗地说,即一个类只负责一项职责单一职责原则。类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障或者难以维护,这就违背了单一职责单一职责原则让每个类都只做一件事,减低了类的复杂性。但是如果严格遵守单一职责原则,又会导致类的数目大增,反而增加了整体的复杂性。这就是单一职责原则原创 2022-03-03 13:31:41 · 1226 阅读 · 0 评论 -
幂等性概念及实现方案
概念幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。以支付为例,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络中断或者异常,用户没有看到支付成功的提示,但此时钱已经扣了,用户再次点击按钮,此时进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条。在增删改查4个操作中:查询对于结果是不会有改变的;删除只会进行一次,用户多次点击产生的结果一样;修改在大多场景下结果一样;增加在重复提交的场景下会出现。支付中的幂等也可以原创 2021-12-28 19:25:25 · 844 阅读 · 0 评论 -
使用Nginx和Tomcat 搭建高性能负载均衡集群
原创 2019-11-07 11:39:52 · 581 阅读 · 4 评论 -
Web网站架构演变之路
前言我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。该系统具备的功能:用户模块:用户注册和管理商品模块:商品展示和管理交易模块:创建交易和管理阶段一、单机构建网站网站的初期,我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器,如tomcat、jetty、jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate、maven+spring+springmvc+mybat原创 2021-12-08 13:02:55 · 167 阅读 · 0 评论 -
sku与spu 概念
SPU:标准化产品单元SPU = Standard Product Unit (标准化产品单元),SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。SKU:库存量最小单位(最小库存单元)SKU=stock keeping unit(库存量单位) ,SKU即库存进出计量的单位(买家购买、商家进货、供应商备货、工厂生产都是依据SKU进行的)。SKU是物理上不可分割的最小存货单元。也就是说一款商品,.原创 2021-12-05 21:37:48 · 7355 阅读 · 20 评论 -
【精品】电商项目 中 基于SPU与SKU的 商品 数据库表设计
简介一般情况下我们使用5张表就可以解决基本的需求了:商品分类表:category商品表(即SPU表):表:product商品规格表(即sku表):product_specs属性key表:attribute_key属性value表:attribute_value具体设计概述spu表和sku表实现不同商品的存储:spu表使用attribute_list字段保存属性集合,查询时使用product_id和product_specs去sku表中获取的具体的单品信息。 spu表中可以增加一些商品的原创 2021-12-06 22:10:44 · 13233 阅读 · 27 评论 -
软件架构演进史
一、单体架构单体架构比较初级,典型的三级架构,前端(Web/手机端)+中间业务逻辑层+数据库层。这是一种典型的Java Spring mvc应用。其架构图如下所示:单体架构的应用比较容易部署、测试, 在项目的初期,单体应用可以很好地运行。然而,随着需求的不断增加, 越来越多的人加入开发团队,代码库也在飞速地膨胀。慢慢地,单体应用变得越来越臃肿,可维护性、灵活性逐渐降低,维护成本越来越高。下面是单体架构应用的一些缺点:复杂性高: 以一个百万行级别的单体应用为例,整个项目包含的模块非常多、模块的边界原创 2021-12-06 16:19:45 · 376 阅读 · 0 评论 -
分布式系统唯一ID生成策略汇总
系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。自动增长最常见的方式。利用数据库,全数据库唯一。优点:简单,代码方便,性能可以接受。数字ID天然排序,对分页或者需要排序的结果很有帮助。缺点:不同数据库语法和实现不同,数据库迁移的时候或多数据库版本支持的时候需要处理。单个数据库或读写分离或一主多从的情况下,只有一个主库可以生成。有单点故障的风险。性能达不原创 2021-10-20 21:50:34 · 571 阅读 · 0 评论 -
【精品】服务端 架构演进 历程
概述以淘宝作为例,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。单机架构以淘宝为例子,在网站最初的时候,应用数量与用户数量都比较少,可以把Tomcat和数据库部署在同一台服务器上。浏览器往www.taobao.com发起请求时,首先经过DNS服务器(域名系统)把域名转换成实际IP地址10.102.4.1,浏览器转而访问该IP对应的Tomcat。但是随着用户数量的增长,Tomca原创 2021-11-27 14:17:28 · 1068 阅读 · 3 评论