QCon北京2018-业务高速发展下的互联网金融系统架构演变-张现双+配置系统 安全控制 拦截、校验 接口签名 加解密 防刷 攻击类 接口缓存 接口重写 热点活动支持 热点功能前置 接口版本控制 业务前置控制 Ng+ LUA 流量调度 降级 限流 灰度 接口分发 ??� FNS Fund 宜睿 P2P BASE Other … … 剥离到网关 部分功能前置 统一接口标准 措施:剥组件[深度定制网关] 业务前置配置 日志 配置系统 安全控制 拦截、校验 接口签名 加解密 防刷 攻击类 接口缓存 接口重写 热点活动支持 热点功能前置 接口版本控制 业务前置控制 Ng+ LUA 流量调度 降级 限流 灰度 接口分发 运营活动动态配置,接口重新编排 热点功能前置,网关分发许可限流,保护底层 接口req/resp重写,透明操作 全功能API配置,热加载 spring-gateway、linkerd、zuul 移动服务C 接入层 服务A 服务B 措施:合冗余[消除链路.裁剪节点] 冗余链路消除40多条 减少系统间交互80多次 裁剪冗余系统节点4个,消除接口200多个 减少对接成本,目的就是快 "� "� before� after before� after C 接入层/GW 服务A 服务B 移动服务C 接入层/GW 服务A0 码力 | 42 页 | 19.96 MB | 1 年前3
微服务和Service Mesh 在多个行业落地实践镜 像 构 建 集 成 测 试 自 动 部 署 流水线管理 测试平台 (集成,场景测试) 单接口 用例 场景 用例 执行 集 定时 执行 接口 Mock 覆盖 率 生产镜像仓库 测试镜像 仓库 历史 管理 批量 导入 接口 监控 www.163yun.com 多样需求 持续集成 中台化 PaaS托管 容器化 分布式事务 统一模版 接口统一 利于复用 文档一致 减少沟通 某视频监控企业:IT资产沉淀与IT能力复用 持续集成 容器化 注册发现 服务管理 www.163yun.com 开发集群 测试集群 CICD (开发流程管理) 流水线管理 代码 检出 代码 编译 镜像 构建 集成 测试 部署 测试平台 (集成,场景测试) 单接口 用例 场景 场景 用例 执行 集 定时 执行 接口 Mock 覆盖 率 生产镜像 仓库 测试镜像 仓库 历史 管理 批量 导入 接口 监控 生产集群 镜像 同步 镜像拉取 自 动 部 署 手 动 触 发 代码到线上全流程管理 互联网化接口测试,场景测试 灵活执行集:冒烟,日常,回归 定时测试,MOCK测试 测试,生产镜像仓库分离,自0 码力 | 39 页 | 3.06 MB | 1 年前3
大规模分布式系统架构下调测能力构建之道(超)大型规模应用+契约协同 应用的发展演变历史 服务化后的问题 多团队协同的分布式环境下,不仅环境“重”,而且外部的服务是别的团队开发 的,你很难得到一个稳定、快速的外部服务提供环境,在此背景下进行功能/接口 调测存在如下困难: 开发依赖重 联调成本高 变动把控困难 拆 应用拆分 数据拆分 团队拆分 分布式服务 API Gateway 分布式文件 分布式缓存 分布式消息 DB 通过mock手段可以解决外部不可控因素对本地调测的影响,如果真实的外 部服务改变了,我们的mock数据也要随之改变,但 问题是: 我们如何及时感知到服务接口/逻辑发生变化了? 解决方法:契约测试 通过将契约测试集成到CI流程中,在构建的过程中完成接口的联调测试,和 接口变动的验证测试,从而实现对接口变动的及时感知。 Consumer 报告 Provider Consumer 报告 Provider request request response 导出 回放 Step1:定义服务调用方的期望 Step2:在服务提供方进行验证 接口 验证程序 Mock文件 配置文件: 服务地址 校验接口清单 远程接口A 测试报告 服务注册中心 服务列表 …… 远程接口B … 邮件发送 调用 并 比对结果 CI构建流程 response request 应用服务综合mock能力 在实际0 码力 | 19 页 | 2.74 MB | 1 年前3
领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进模型检查上下 文 • 识别真实依赖关系 • 确定上下文物理边界 • 业务演化的趋势 限界上下文解耦-统一接口设计 统一 接口 模型检查 上下文 CAD翻模 上下文 钢筋计算 上下文 截面钢筋模 型上下文 Facade模式 解决: 接口不规范,多套接口 外部接口深入到上游的业务逻辑 限界上下文解耦-发布订阅机制 钢筋模型 上下文 建模模型 上下文 调度中心 总结展望 DDD在研发中落地 统一语言 需求实例化 持续集成 接口测试 DDD落地与研发融合 架构演进驱动产品与研发 • 降低了整体业务的耦合,各业务独立演化; • 简化了集成关系,降低了集成成本,实现各业务的独立发布; • 驱动组织按领域边界拆分了7~9个特性团队,实现并行研发; 限界上下文的拆分 + 领域模型+ 接口设计/测试 • 支撑产品转型,快速实现业务服务化; • 提升业务逻辑的可复用性,新业务快速扩展0 码力 | 33 页 | 1.25 MB | 1 年前3
《58到家技术架构快速规划与落地》 - 沈剑什么是立体化监控? � 怎么个多维度法? (1)机器、操作系统 (2)进程、端口 (3)日志 (4)接口 58集团技术专场 机器、操作系统监控 58集团技术专场 2. 监控平台-进程/端口/JVM • 两类思路:分发/汇总 • 分发类实现Tips (1)易扩展的配置 (2)远端接口探测,命令执行 (3)可以无需agent • 汇总类实现Tips (1)agent快速部署 (2)agent从中央获取配置 (3)易扩展的配置 58集团技术专场 2. 监控平台-接口 Keepalive统一监控 (1)框架统一实现 (2)中心统一调度 处理时间统一监控 (1)框架统一实现 (2)本地初步汇总 (3)日志收集/udp上报 http接口统一监控 (1)http状态码?内容? (2)易扩展的配置 58集团技术专场 2. 监控平台-接口 • 哪种监控最精准? • 站在调用方的角度来评判服务是否OK 强调:统一组件真的很重要! 58集团技术专场 三、总结 58集团技术专场 总结-初创公司技术体系怎么玩 � 服务化:统一框架,统一数据访问,解耦组件 � 监控平台:机器/操作系统,进程/端口,日志,接口 � 调用链跟踪:修改点,串联/时序/深度,数据收集,可视化 � 守望者平台:应用视角,上下游,数据收集,统一展现 统一组件 快速落地 58集团技术专场 Q&A 谢谢! “架构师之路”公众号0 码力 | 42 页 | 1.52 MB | 1 年前3
付钱拉金融云系统架构演进和最佳实践路由) 设计具备自我保护的系统(拆分、限制、优雅停止) 制定合适的开发规范 撒网 实时监控(傻瓜式、开发不用查日志) 可视化运营 网络监控 主机监控 服务监控 业务监控 中间件、接口探测、日志抓取 状态类(响应码、交易状态、退款状态、商户状态) 耗时类(交易总时长、分段时长、SQL耗时、代码耗时) 统计类(订单量异常预警、非法IP预警、交易额过大) 网络异常(单通道和多通道、不同的分布场景) SPECIFICATION 一 编程规范 1.业务代码中所有SQL耗时打印耗时 2.业务代码中关键方法打印耗时 3.和第三方接口交互,需要设置连接超时和读取超时时间,避免同步线程阻塞 4.和第三方接口交互,需要考虑是否需要通过代理出网 5.和第三方接口交互,需要考虑是否要相互添加白名单 6.和第三方接口交互,需要考虑设置合适的work线程符合第三方并发数量限制 二 安全规范 1.页面请求参数严格限制或者校验处理,防止SQL注入0 码力 | 35 页 | 6.05 MB | 1 年前3
分布式异地多活架构实践之路合肥IDC 广州IDC 最终一致性 MQ 消息接口 消息状态库 定时补偿 MQ 监控 sdk Service 消息状态上报 调用重试/查询接口 同步消息管理服务 全局消息id生成 消息管理(预写、删除等) 重试、查询、监控接口 sdk CRSync CRSync sdk sdk Processor 是否执行结束 获取监控接口 通知运营 或者技术, 人工介入 依赖关系优化0 码力 | 36 页 | 1.66 MB | 1 年前3
苏宁易购小程序架构实践 苏宁 禹立彬CONTENTS 1 域名收敛服务 通过统一的网关,request域 名收敛 联合登录策略 ——— 尝试无授权登录+授权登 录 微信/百度小程序联合 登录—快速绑定 使用媒体提供的手机号接口,快速注 册/绑定 微信/百度共用 小程序服务-二维码&图片 • 二维码服务——— 二维码预生成服务 • 图片合成———素材+二维码朋友圈分享 小程序服务-服务通知 • 微信——收集formid request,登录与302 request,登录与302 在网页状态下运行良好的登录机制,在小程 序下,无法兼容。 loginRequest组件 请求专用接口,并保存登录状态 同时禁止小程序接口中用302传递cookie 小程序Webview • Webview无法传递cookie • 大量页面使用Webview嵌入 • 官方都没有提供方便的传递方法0 码力 | 36 页 | 833.39 KB | 1 年前3
刘道平-从0到1,移动政务应用小程序系统架构演化而APP则在产品自主可控、数据全程管控、使用路径更短、功能灵活多样方面更具优势。 6、探索需求 -- 分析可行性,选取合适的需求场景 什么需求适合进入第1版本? 1.服务对接方式:提供API接口,而非H5页面 2.认证方式:基于后台API方式,而非要求用户再次输入 3.服务类型:属于查询、办理类,而非资讯信息、办事指南 4.服务具有便民、高频特征 帅选出第1版本要接入的百项高频便民事项 向网关申请接入,网关分配paasid、token给业务应用; • 2.业务应用A 使用paasid、token,接入网关,网关进行鉴权;业务应用A在网关上发布服务,或申请授权访问其他服务; • 3.前端小程序向网关请求业务应用A 的接口服务,网关请求业务应用A提供的服务,返回给前端小程序。 11、后台服务 -- 构建分布式微服务框架 1.采用etcd 构建微服务框架 etcd是一个分布式的 、一致的key-value存储,主要 1、在测试环境中扫描出:越权查询、SQL注入、明文传输等,要求整改 2、正式环境检查: 操作系统、数据库、中间件漏洞,建议打补丁 二、运维监控每日 1.采用ELK收集系统日志、监控异常信息 2. 对各业务系统API接口进行状态监控,每日输出报告 14、系统上线、系统截图 粤省事小程序码 目录 一、移动政务应用服务现状与痛点 二、一个特殊的移动政务应用项目 三、政务服务小程序平台研发过程 四、政务服务小程序平台架构演化0 码力 | 35 页 | 15.60 MB | 1 年前3
声明式自愈系统——高可用分布式系统的设计之道-王昕Ø 设计和验证高可用分布式系统的工具与方法 Ø 设计和验证高可用分布式系统的案例分享 Ø 高可用系统的最佳实践总结 依据声明式自愈的理念设计系统 有一个统一的状 态持久化接口, 所有有状态模块 通过统一的接口 对应统一的对象 模型 配置模块对象只 需要包括 Desired State 每个领域的控 制器模块的逻 辑保证自己领 域独立自愈的 能力 改变状态的操作 必须是幂等的声 每个模块都可以在必要时优雅地降级服务 每个模块都可以在出错后自动恢复 假设任何命令都可能被任何调用对象拒绝,甚至返回错 误结果 声明式自愈系统的现有框架——Kubernetes 声明式自愈系统设计理念的回顾 统一接口 和对象模 型 自愈 能力 幂等操 作和状 态机 DS 和 RS Desired State 可重用部分 已完全实现 要在领域内 自己实现 如何设计好状态机和自愈协议? Writing0 码力 | 44 页 | 2.47 MB | 1 年前3
共 18 条
- 1
- 2













