架构
冥冥之外
冥冥之外,鸿鹄之灾
展开
-
java面试集合之List
现在面试面的的越来越深了,就整理了下自己被面到的面试题,组织下语言常用集合类Collection下的List,Set,Queue,以及MapArrayList底层是动态数组实现(静态数组,内部容量有限。在实际使用的时候,我们往往无法预估要在这个数组中存入多少个元素。使得这个数组的容量是可伸缩的,也就是所谓的动态数组);创建:1.当不赋予初始值时构造一个初始容量为0的列表2.当赋予值时,则根据值大小大于0时创建初始容量的数组,new Object[initialCapacity];原创 2020-06-28 23:28:32 · 700 阅读 · 0 评论 -
网关层功能
一.请求鉴权 商品发布,登陆鉴权二.数据完整性检查 数据包定长header+变长body 定长包括:UID,sessionId,cmd,body length 通用逻辑检查,不会检查具体语义 定长json app请求传输协议http/https,数据格式json 进入网关层以后,网关与业务逻辑层的一半pb,TCP协议,二进制...原创 2019-10-04 10:47:28 · 1915 阅读 · 4 评论 -
水平架构设计
同步机构插入MQ会变为异步架构。MQ插入越早越好,但网关会通用参数检查,请求鉴权,过滤垃圾数据。网关不会成为业务瓶颈。所以放在网关及业务逻辑层之间异步架构异步目的:提升吞吐量异步手段:MQ请求类型: 读请求:不需要MQ,瞬时返回结果 写请求:数据一致性强的,不可以用MQ;数据一致性弱的可以;问题1:用户发朋友圈后,到MQ返回给用户成功,然后立马查看...原创 2019-10-05 11:41:59 · 360 阅读 · 0 评论 -
垂直架构SOA
组件模型 不同功能单元通过定义的良好接口关联 接口采用中立的方式定义,单独于硬件平台,操作系统和编程语言 ESBWebServiceSOAP架构特点,垂直拆分缺点业务垂直方向拆分,每个服务都是一个单体Monoliths对ESB严重依赖...原创 2019-10-05 11:44:14 · 314 阅读 · 0 评论 -
微服务架构
垂直+水平方向拆分,单独运行网关1个或多个业务逻辑层 多个数据访问层 多个DB/Cache 多个注册中心配置中心 Apollo本质 两个维度拆分 业务架构 组织架构 适用场景 需求层面 快速交付,持续迭代,如内部系统,OA等迭代慢的意义不大 性能层面 吞吐量变高,平均响应延时也会变高。量化交易...原创 2019-10-05 11:45:14 · 140 阅读 · 0 评论 -
分布式锁
分布式环境下,锁定全局唯一资源 请求处理串行化 实际表现互斥锁 基于Redis分布式锁 唯一线程串行处理 实现方式Setnx命令指定的Key不存在时,为Key设置指定的值SETNX KEY_NAME VALUE Expire_time设置成功,返回1,设置失败返回0存在的问题 锁时间不可控,无法续租期 单点问题 单...原创 2019-10-06 21:42:04 · 151 阅读 · 0 评论