
架构
文章平均质量分 65
个人渣记录仅为自己搜索用
不盈利,只为分享,转载.
找到的原版url的,尽量会贴原版url.
如有版权侵犯,请留言删除.
展开
-
平台系统建设所具备的能力
支付系统总结(收单,收银,资产交互,账务)_个人渣记录仅为自己搜索用的博客-优快云博客收单系统(支付系统)总结 - 内含幂等,事务,状态的非常好的例子_个人渣记录仅为自己搜索用的博客-优快云博客1.模板能力普通模板(异常or正常状态流程) 状态机模板(异常 or 多个连续状态流程) 多状态多excutors 可阻断. 流程引擎( 多分枝状态 )2.配置能力升级之路: 从拉平(drm,diamond) 到 流程 再演进到 流程+领域.第二版的好处是 新配一个业务能力,busin.原创 2022-04-28 16:22:23 · 837 阅读 · 0 评论 -
人人都是开发者 - 模板 高效 组件 脚手架
开发者工具 idea工具开发者java框架组件 Exception (ErrCode,subCode).ErrCode={code,error/info, system/biz} 这些功能组件被收拢在cola-components目录下面。到目前为止,我们已经沉淀了以下组件:组件名称 功能 版本 依赖 cola-component-dto 定义了DTO格式,包括分页 1.0.0 无 cola-component-exce...原创 2021-08-21 01:52:52 · 407 阅读 · 0 评论 -
转 - C4 模型 - 可视化架构设计
C4 模型 - 可视化架构设计 前言 世界上最难的两件事是: 1. 把我的思想放进你的脑袋 2. 把你的钱放进我的口袋 第二点我们不探讨,因为这是众所周知的,不信?过来试试:) 对于第一点,对我们程序员来说,其实也是我个人一直强调的,很多事情的成败,其实就在于掌舵人的思想层面是否认知是一致的,当我们对于一个事物的认知不在同一层面,就好比我们的划桨是不统一的,这是不能发挥最大的生产力。 你碰到过吗? 当我们进入一家新公司的时候,每个人都需要对公司的业务.转载 2021-08-20 22:28:06 · 787 阅读 · 0 评论 -
学习 自学 书 网站
SACC2021中国系统架构师大会PPT分享学习小组筹备转载 2021-08-20 22:19:28 · 75 阅读 · 0 评论 -
人人都是总结大师
收集/整理/展示场景下 目录/脑图/交叉表 的使用 所谓的总结其实就是归类. 对问题归类,对方法归类. 同时横向,纵向扩展. 阅读他人经验填充. 所以日报总结没有意义. 顶多是自顶而下的填充. 发型问题,定义问题,解决问题.什么是问题? 问题就是人类的需求.以及解决需求的时候的需求.需求金字塔. (没法插入脑图,那么采用交叉表来实现) 能量需求 快乐需求 时间需求 ...原创 2021-07-23 03:04:39 · 311 阅读 · 0 评论 -
人人都是CTO
CTOKPI 包含了架构师应有的技能,能够辅导架构师 规划: 推演,规划未来,提前布局招人. 收集问题抱怨,整理问题(维度化,数字化),发现问题,解决问题: 1. 各个技术系统之间冲突导致的问题 2. 各个系统之间共有的问题 3. 制定流程和目标,简介. 设计评审, 2/5/15 支持: ...原创 2021-07-21 15:05:17 · 120 阅读 · 0 评论 -
服务器选购对比
1. 家用 淘宝搜索 至强处理器优点是爬虫的带宽不需要单独算了2.阿里云等通过活动页面购买阿里云选了比较快的essd磁盘(装mysql). 带宽100M. 每年3000. 有点贵比较差的 云服务器(普通的ssd磁盘(io比essd慢),带宽100M. 每年2000. 有点贵2核4G ,但是带宽另外算. 比较便宜3336,每年800元. 不现实.3. 中国移动https://ecloud.10086.cn/home/market/market618...原创 2021-06-28 17:57:25 · 181 阅读 · 0 评论 -
架构师的架构思维目录
本课程关注与具有多个层面问题的企业级软件架构,适合于进行大规模系统级架构设计的关注者的视角: 首先通过经典架构案例的回顾,使学员对软件架构有个整体认识 然后结合多个实际案例(电信、银行、互联网、自动化、企业管理),讲解各种架构的问题、解决方法,不断关注新系统,更关注基于已有的系统进行重构。 进而认识架构不是孤立的,把各种架构结合已有的遗留系统,集成为统一支撑平台,实现持续发展: 最后,学习如何在迭代开发过程中,以架构为核心,逐步构......转载 2021-03-09 17:14:48 · 349 阅读 · 0 评论 -
阿里技术专家甘盘:浅谈双十一背后的支付宝LDC架构和其CAP分析(含phil补充)
转自:https://blog.youkuaiyun.com/itfly8/article/details/111027014简介:汤波(甘盘),男,1989/02/21,硕士学历。高中开始编程,热爱技术,深信技术让世界更美好。对前沿技术一直保持饥饿感,热衷于创新和革新,让系统体制更为高效和人性化,也深知一个人强走的快,一个团体强才能走的远。在技术团队建设(团队招聘和组建、梯队梯度建设)、技术栈管理(包含技术选型、技术规范建设、软件体系规划)和项目研发管理(软件工程管理、开发效能和质量管理)方面有着较为丰富的实..转载 2021-03-01 15:56:17 · 2021 阅读 · 0 评论 -
如何画架构图
业务架构图(用户,产品视角)应用架构图(应用,领域实体维护视角 ):部署架构图:最好有颜色, 从浅到深色.原创 2021-02-25 14:53:14 · 381 阅读 · 0 评论 -
平台系统设计 配置 参数化能力
平台系统设计 配置 参数化能力平台系统设计,引用自转载 2021-02-08 14:09:49 · 578 阅读 · 0 评论 -
service mesh实践落地
0 Kubernetes+Docker+Istio 容器云实践 含各种框架对比1. 阿里云服务之云效之基于Istio的Kubernetes蓝绿发布https://help.aliyun.com/document_detail/101762.html?spm=5176.10695662.1996646101.searchclickresult.4ac23e1eEXMMn1&...原创 2019-11-20 10:09:19 · 224 阅读 · 0 评论 -
docker的网络模式混合部署(混部)
混合部署(混部)遇到的一个问题就是1. 端口冲突问题. host模式肯定不行.几个方案缺点:1.单网卡多ip ,机器 监听端口时加上 (ip,端口) . 一个主机,多个软件,监听同一个端口可行.但问题是需要软件强配置上ip. 或者修改 tcp机器接口,getIp时,分配过后就不再分配.2. 直接从宿主机上获取ip的原则,每个docker独立的ip. host模式的变种. ...原创 2019-11-08 12:56:49 · 937 阅读 · 0 评论 -
架构师配置稳定性监控中遇到的坑
稳定性三大指标. 1.请求量 2.耗时 3.异常.日志规范: 入口日志通过filter打印报警配置基本规范:请求量和耗时的同比 异常量的绝对值 环比也要监控. 核心接口大盘,人工观察 总量肯定多的,监控宕机类问题. 细分到服务器级别. 异步后接口级无用,需要监控error报警坑:入口日志中异常通过业务字段是否会空来表征 报警监控要有请...原创 2018-04-24 21:43:41 · 231 阅读 · 0 评论 -
IaaS,PaaS,SaaS 的区别
最近做了几个项目,平台化越来越严重,更甚至端上直接和平台交互,可能前端只是皮肤和布局是自己的,甚至连皮肤都是大一统的.然后联想到了saas的概念. 服务端调用平台化其实也是一种saas,但还不够彻底.自行车统一收银台,为了避免品牌暴露,界面自己做,也算是saas的一种,只要做好请求的sign签名即可.完全的统一收银台[包含了券和其他抵扣优惠]是完全的saas化.支付宝的跳转页面也是完全的saas化...原创 2018-04-18 18:00:29 · 357 阅读 · 0 评论 -
序列化,反序列化 实现的本质
序列化: 顾名思义,把结构化的bean转换为串行的字节流. 很多时候会把一些信息丢失掉. 例如json的话 1.类型信息 java原生的话 static和transient的信息. 方法: 依赖于语言本身的基础,1. 例如java bean中通过反射获取到所有字段2.一个字符串,依据某种编码转成制定字节流的....原创 2018-04-12 12:15:43 · 659 阅读 · 1 评论 -
一次http core异常排查记录
1.https://stackoverflow.com/questions/35350376/java-lang-illegalstateexception-request-cannot-be-executed-i-o-reactor-status?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_ri...转载 2018-05-02 22:19:51 · 468 阅读 · 0 评论 -
技术人员规划能力,如何规划新的系统
自己的这篇博客也提到了点如何成为一名架构师,架构师成长之路结合自身经历个人理解:p7 内部重构。 1. 新增类型的重构 2. 内部复杂逻辑用 责任链 3. 五大设计原则的应用。解耦,reactor,mq模式。 4. 稳定性基础体系建设,总结。整个链路上技术栈了解。p8 规划新系统。 1.关注人 2.和产品沟通,了解他们复杂点。 对人来说,核心的是facade模式。 例如外部商户平台,技术上的平...原创 2018-04-03 17:24:57 · 1213 阅读 · 0 评论 -
一次重构演示. 核心点: 1. 细节业务流程 2.对象
打印日志和耗时,是任何普通程序员都会遇到的场景.1. 最普通的代码 long start=getTime(); xxx.invoke();long end=getTime();2. 抽象下,你想干嘛.打印日志和耗时. 1. 取个工具对象 RequestLog.把 start和end属性都放置到对象上去.RequestLog{ long start;long end;}2. 这个对象的生命周期是...原创 2018-04-10 19:27:54 · 337 阅读 · 0 评论 -
[原创] 体感监控,体感报警体系
如何从用户来看监控系统?1. 用户视角法. 梳理用户的每个业务操作步骤,想想这一步有可能出哪些错误.怎么监控. 每个状态机切换的action都会出错.2. 接口体感监控法. 用户失败了会连续重试.体感监控解决什么核心问题? 1. 灰度小流量下的错误监控(服务器级,功能级). 其他小流量场景同样适用. 2. 每次上线回归遗漏掉的核心流程.[量少] (回归自动化测试不是...原创 2019-03-29 11:46:00 · 397 阅读 · 0 评论 -
日志查询服务,对日志结构化改造traceId,调用链路拓扑图,非error相关。
1. mdc 串联所有业务日志2. 按照规范打印uid【鉴权层】,日志层级(入口层,边界io层,内部业务日志)【便于筛选入口日志,找到对应的TraceId】,日志类型(相当于不同的表,pv日志,事件流类型,业务日志1,业务日志规范2)3. 把日志系统改造成留 生命周期事件流系统,需要业务方打印实体id即entityId,或者 会议id作为生命主题。[其实不合适,因为都是int值,不知道含义,就和...原创 2018-04-09 11:34:15 · 4627 阅读 · 0 评论 -
稳定性之 监控,报警,定位 偏业务视角,偏数据分析视角,智能定位. 2/5/15 of 安全生产
0. 埋点数据1. 梳理出统计数据2. 从统计维度来定位问题.3. caseByCase定位排查我的其他文章: https://www.cnblogs.com/fei33423/p/7169590.html 稳定性建设的方法论 架构师应该做什么? 偏传统视角.https://blog.youkuaiyun.com/fei33423/article/details/7..............................原创 2018-05-11 14:28:30 · 1010 阅读 · 1 评论 -
奇思妙想之 优雅上线之 类级别. 代码即配置.
1. 利用java的热替换机制,做到类级别的优雅停机. 两个类同时存在. 新流量到新类.确保老类的老流量没有后,再删除. Java 类的热替换 —— 概念、设计与实现 使用自己的ClassLoader实现热替2. 然后利用流量保存和重放进行对应代码的测试. 原代码的流量有哪些.这些流量重放,哪怕新代码把老代码都删除了. 1. 线上只记录出口和入口数据. 2. 然后到行记录应用服务器上...原创 2018-05-14 11:23:51 · 348 阅读 · 0 评论 -
负载均衡技术-从远古到现代
1. 远古时代 lvs2. 略微现代 dns ,域名解析. -- 智能dns解析,就近原则3. 内网时代. 阿里的vipServer. 性能层面: 如果过LB的请求量就大到把LB给打挂了怎么办?互联网的流量,尤其是中国互联网的流量,我们要有足够的自信啊,而且参与过春节买票的,春晚修一修抢红包的都能想象得到。 LB虽然可以有standby的方案或者有小规模集群能力,但如果active/sta...转载 2018-05-14 12:20:08 · 299 阅读 · 0 评论 -
服务治理三个层次(在钉x的成长)
1. 流式监控大盘+报警 需要会话上下文数据. 所以需要服务端先汇聚存储数据2. 定位分析 智能硬件很多是端和端的交互,需要把端上日志+现场环境信息上传. 需要一个日志压缩上传,和hbase系统. 直接存放大文本.3. 基于现有会话信息进行日级别.数据分析每日统计分析,每次优化有数据可依. 会话中上下文信息. 比如投屏使用的分辨率和支持的分辨率.所以业务系统最重要,保存会...原创 2018-06-21 16:20:13 · 590 阅读 · 0 评论 -
数据开放平台redshift Amazon 数据集市 数据仓库 数据库
数据集市.1. 行权限. 存储和计算隔离,在计算时进行行权限限制. 这样就不需要将数据复制一份.2. sql即接口. 提供一个平台,开发商可以配置一个接口,这个接口对应一个sql. 平台对sql进行行,脱敏限制.企业的数据需要开放给企业自己.这样他们可以下载,可以自己分析. 而不仅仅是你提供固有的功能....原创 2018-06-25 21:28:29 · 569 阅读 · 0 评论 -
安全 + 设计的核心考量: (物联网安全设计)
安全设计的核心考量:1.在协议被破解的前提下思考, 数据参数如何不可遍历,数据不能不变.场景: 1. im系统给非组织内成员,非好友电话 , 默聊. 用次数限制. (基础系统) 做的更好点. 给发起者的每个被呼叫人分配一个动态callId. 关联到appDeveloperId,发起人callUid 2. im系统给非组织内设备拨打电话. 开放默聊. 用一个设备指定...原创 2019-01-24 10:47:13 · 473 阅读 · 0 评论 -
抽奖系统设计
抽奖系统:实体设计 1.活动奖池 2.奖品等级.(权重) 3.权益 (含金额) 4. 分布(奖品等级,权益均可分布) 5.人群. 6.限制: 人群限制(黑白名单,联合限制)4. 一键拷贝功能,用于测试. 分布一键提早.熔断机制: 1. 基于权益熔断 2. 基于整体奖池的金额熔断. 金额区分代金券金额促销金额,真伤金额....原创 2019-03-10 16:22:23 · 1776 阅读 · 0 评论 -
稳定性 问题定位[基于此监控系统] 系统优化[内部调用异常数据流量,基于此系统上的压测瓶颈发现]
csdn上的博客:稳定性建设的方法论 架构师应该做什么?自己的另外一篇:稳定性 耗时 gc 过长问题排查 和工具http://www.cnblogs.com/fei33423/p/7800395.html老的思考:稳定性 监控 业务后期 - 架构师https://www.cnblogs.com/fei33423/p/7169590.html总结: 新的指标概念: 1....原创 2019-05-07 11:39:36 · 986 阅读 · 0 评论 -
业务开发同学需要有流程引擎的思维.(包含了状态分层设计,事件设计,不同视角的状态展示[前台,后台], 事件流思维,业务模块切分到开闭代码的能力)
先说明两个场景:支付场景. 从本来的整体支付,部分退款到可以多次支付,到多次退款. 到可以垫付.(垫付这个,没有流程引擎思维很难想通状态设计怎么设计更好).支付变化: 加入垫付. 把原来线性流程变成了 ,有一个就分润流程. \ --分润-> /会议室预订场景: 审批预订和普通预订能否共用一套底层预订系统. 类似订单快车和专车...原创 2019-06-28 09:27:15 · 916 阅读 · 0 评论 -
需求拆分 概要设计 详细设计(系分)流程总览 - 异常,非功能性分析
1.需求理解: (前两年) 1.流程理解(用例者,入口,并行流转.) 2.状态机,流程引擎理解. +行为理解(有些流程是并行的,有些是串行的) 3.异常case理解 流程引擎图(节点,流程,行为,用例者)流转.2. 领域和模块划分(第三年,初步的模块划分,第四年,内部模块划分) 1.水平切割(旁支隔开,底层支持模块) 2.垂直切割原创 2016-11-28 11:32:33 · 2065 阅读 · 0 评论 -
dubbo 的线程和连接模型 (长连接复用的两种形式)
本文业务表现博文:稳定性 耗时 监控原因分析-- dubbo rpc 框架 的线程池,io 连接模型. 客户端,服务端原因剖析: 共用连接,出现了排队现象,所以慢了.需要打印 zipkin 日志.把时间点传到下游,遇到耗时高的才打印日志. 或者各处自己打印日志. 后续日志预处理时多行转列.dubbo 基于 netty,minnay.以 netty 为基准 : *分为连接层 *处理层....原创 2017-08-22 18:38:17 · 10227 阅读 · 1 评论 -
lvs 未解之谜-如何知道连接状态
lvs dr 模式,三次握手建连,realServer 的 ack 直接返回给 client. lvs 中如何维护这个连接的状态?ipvsadm -Lcn 1. client 建连的第一个 sync 包到达 director, 然后放入到 hashTable, 然后转发给realServer ,server 发送 ack 和 sync. 此时 server 的 tcp 状态是原创 2018-01-19 19:02:00 · 1103 阅读 · 0 评论 -
一致性 hash的诉求和实现
核心是降低缓存变更时的震荡.实现:简单版. 虚拟节点和真实节点. hashcode 伪随机分布. 可排序.复杂版: 虚拟节点完全有序控制,利用 int 值作为分布条件. key 转成 hashCode 再转成 int.一致性hash与zookeeper实现负载均衡write.blog.youkuaiyun.com/postedit?ref=toolbar原创 2017-05-17 23:13:51 · 298 阅读 · 0 评论 -
系统架构基础+流程改进
勋章1-上线流程 勋章2-持续集成 勋章3-架构设计 勋章4-容量预估 勋章5-服务化实践 勋章6-监控建设 勋章7-降级实施 勋章8-容灾设计 1.上线流程: 预发. 自动化case. 按城市小流量. 基于监控系统自动化识别判断是否有问题. 持续exception原创 2016-12-22 21:12:25 · 996 阅读 · 0 评论 -
脑图和目录/表/交叉表的区别 及其使用场景
最大的区别就是目录是被动生成的,你无法直接编辑目录.只能到文本上编辑.且无法快速insert和inser child脑图是主动生成的. 快捷键快速插入.看书,目录就是脑图.但是看书最重要的是关联的想法,和对书本前后的串联.看纸书:1.目录2.笔记,加上P. 3.对书上的内容关联到P. 这样下次看内容可以秒懂了.1.2是抽象,3是具原创 2017-04-12 12:55:42 · 2205 阅读 · 0 评论 -
何登成-库存热点更新. 有补充语音笔记
from 【阿里在线技术峰会】何登成:AliSQL性能优化与功能突破的演进之路https://yq.aliyun.com/articles/57900同系列,配合起来看,秒杀场景下MySQL的低效--原因和改进.pdf库存热点更新“双十一”时,有很多商品是大家都想去抢购的,库存在数据库内部只是一行标识商品剩余件数的记录,买商品的行为其实是大家在并发的扣减商品记录转载 2017-03-09 11:57:45 · 1549 阅读 · 0 评论 -
codeReviw层级和意义,业务后备
1.很多人以为codeReview的意义是保障质量.但更多的是 1.业务知识分享和反向check 2.组员互备,当有人忙于其他项目或者请假时,要顶上. 3.通过单测对输入输出来反向check业务逻辑. 要建立在模块划分的基础上,并且团队内部要明确职责. 代码边界要清晰. (好的边界是放在不同的子工程里,通过api互相依赖.每一层要有interface. da原创 2016-11-25 14:04:24 · 652 阅读 · 0 评论 -
设计- 双向依赖关系的理解
1. 依赖最好是单向 1.1 如果一定要双向注入, 某一个依赖最好转换为接口依赖,实现反向调用或者说反向通知的效果. 1.2 接口(父类)依赖和mq其实是类似的. 另外一个通过存储解耦,变回调通知为阻塞查询某个队列存储(zookeeper常用) Follower 依赖 FollowerZooKeeperServer , Follower又被注入到FollowerZo原创 2016-11-27 23:16:41 · 836 阅读 · 0 评论 -
业务系统上下游数据一致性检测系统(类似对账系统)
DBCC(Database Consistenecy Checker)命令原创 2016-12-01 15:12:16 · 2650 阅读 · 1 评论