自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 在线诊断平台(二)

在线诊断平台实现功能包括:安装卸载:根据用户在平台输入目标节点和进程信息,实现诊断程序的安装和卸载,具体将在下一节介绍。多人协作:当多个用户同时诊断同一个进程时,对于存在冲突的功能,平台通过分布式锁实现互斥,保障同一时刻只有一个用户能使用,当然这么做的前提是平台在功能设计时考虑原子性。另外,当一个用户试图关闭一个其他用户正在使用的连接时,也会被拒绝。用户鉴权:建立审批和黑白名单机制,基于 RBAC 模型,同时联动 CMDB,对操作人员的权限进行严格管控,普通开发者需要被授权才可使用,各类诊断功能的使用

2021-01-31 23:58:10 315

原创 在线诊断平台

面临问题直接使用 Arthas 的命令行交互方式,不能满足金融级运维要求,在落地时存在一些问题:信息安全问题Arthas 可以通过命令行方式,直接观测方法的入参、返回值,这就涉及到一些客户敏感信息,直接在生产环境使用命令行操作显然是不合适的。学习成本问题工具的安装使用存在极大的学习成本。多人协作问题当多个开发者对同一个目标进程诊断时,可能存在线程、代码、数据等的冲突及安全问题。资源占用问题Arthas 进程会占用一定的系统资源(如内存、CPU),应该在排查问题时使用,而不应该当作常规监控

2021-01-24 23:32:40 785

原创 领域驱动设计框架Axon学习笔记(2)

Axon框架的程序遵循基于领域驱动设计(DDD)、命令查询责任隔离 (CQRS)、事件驱动架构(Event Driven Architecture,EDA)的体系结构模式,这些原则的结合,使基于Axon的程序更加健壮、适应性更强。图1- 2是基于Axon框架程序的典型体系结构:...

2020-12-27 21:56:12 225

原创 领域驱动设计框架Axon学习笔记(1)

ES (Event Sourcing)事件溯源和CQRS (Command Query Responsibility Segregation)读写分离也成为了一个越来越流行的概念,使用ES和CQRS好处在此不做赘述,但是也存在颇多弊端,比如事件数量巨大、回溯状态需要提前预热、缺少成熟的框架支撑等。在这种情况下,2009年Allard Buijze在JVM平台开源了Axon Framework用来解决此问题,简单说来Axon就是集成了DDD、ES和CQRS于一身,落地实现的一套框架方案,并成立了一家公司Axo

2020-12-20 23:08:34 407 1

原创 微服务之间调用超时的设置治理

探讨服务的响应时间对系统的影响和应对资源消耗服务消费方端⼝消耗(TCP请求最多65535连接数);发起调⽤的业务进程、线程、协程等待过程中,所消耗的内存、CPU 、磁盘 IO 等。服务提供方协议消耗,每接收⼀个 tcp 连接都要占⼀个⽂件描述符,理论上 server 端最⼤tcp 连接数约为 2 的 48 次⽅(但是受到业务逻辑、机器资源和⽹络带宽条件所限);业务逻辑的⼤量资源消耗,如⽹络带宽、内存、CPU 、磁盘 IO 等。...

2020-12-13 23:50:38 691

原创 微服务治理平台化探索(好大夫在线)

面临的问题到底是什么?如何快速定位故障?告警事件爆炸,如何判断业务方异常,还是中间件异常,亦或是某个机器异常?如何追踪调用链路?一条调用链路涉及几十个应用,异步处理的请求如何溯源?如何评估应用容量?机器资源配比多少合适,产品推广落地页如何规划各应用容量?如何分析应用潜在风险?应用慢接口,循环调用,依赖不合理,找出潜在的风险SQL?...

2020-12-06 23:57:56 336

原创 在线诊断平台

参考《工商银行打造在线诊断平台的探索与实践》作者 刘慕雨 中国工商银行软件开发中心云计算实验室背景与目标:分布式架构和云计算平台广泛应用的环境下,高效排查程序错误或性能瓶颈。...

2020-11-29 23:57:53 261

原创 云原生架构白皮书学习笔记(11):云原生架构未来发展趋势

云原生架构未来发展趋势容器技术发展趋势趋势一:无处不在的计算催生新一代容器实现趋势二:云原生操作系统开始浮现趋势三: Serverless 容器技术逐渐成为市场主流趋势四:动态、混合、分布式的云环境将成为新常态基于云原生的新一代应用编程界面Sidecar 架构彻底改变了应用的运维架构应用生命周期全面托管用声明式配置方式使用云服务语言无关的分布式编程框架成为一种服务Serverless 发展趋势趋势一:Serverless 将无处不在趋势二:Serverless 将通过事件驱动的方式

2020-11-22 23:52:50 353 1

原创 云原生架构白皮书学习笔记(10):阿里巴巴云原生架构设计:ACNA架构设计方法(1)

阿里巴巴云原生架构设计ACNA(Alibaba Cloud Native Architecting)架构设计方法ACNA 是一个 「4+1」 的架构设计流程,「4」 代表架构设计的关键视角,包括:企业战略视角业务发展视角组织能力视角云原生技术架构视角「1」 表示云原生架构的架构持续演进闭环。ACNA 除了是一个架构设计方法,也包含了对云原生架构的评估体系、成熟度衡量体系、行业应用最佳实践、技术和产品体系、架构原则、实施指导等。云原生技术架构视角服务化能力用微服务或者小服务构建业务,

2020-11-15 23:49:32 849

原创 云原生架构白皮书学习笔记(9):主要云原生技术-云原生中间件

DevOps 就是为了提高软件研发效率,快速应对变化,持续交付价值的的一系列理念和实践,其基本思想就是持续部署(CD),让软件的构建、测试、发布能够更加快捷可靠,以尽量缩短系统变更从提交到最后安全部署到生产系统的时间。要实现持续部署(CD),就必须对业务进行端到端分析,把所有相关部门的操作统一考虑进行优化,利用所可用的技术和方法,用一种理念来整合资源。DevOps 理念从提出到现在,已经深刻影响了软件开发过程。DevOps 提倡打破开发、测试和运维之间的壁垒,利用技术手段实现各个软件开发环节的自动化甚至智

2020-11-08 23:59:23 190

原创 云原生架构白皮书学习笔记(8):主要云原生技术-DevOps

主要云原生技术DevOpsDevOps 就是为了提高软件研发效率,快速应对变化,持续交付价值的的一系列理念和实践,其基本思想就是持续部署(CD),让软件的构建、测试、发布能够更加快捷可靠,以尽量缩短系统变更从提交到最后安全部署到生产系统的时间。要实现持续部署(CD),就必须对业务进行端到端分析,把所有相关部门的操作统一考虑进行优化,利用所可用的技术和方法,用一种理念来整合资源。DevOps 理念从提出到现在,已经深刻影响了软件开发过程。DevOps 提倡打破开发、测试和运维之间的壁垒,利用技术手段实现

2020-10-25 23:55:59 374 1

原创 云原生架构白皮书学习笔记(8):主要云原生技术-Service Mesh 技术

主要云原生技术Service Mesh 技术Service Mesh 是分布式应用在微服务软件架构之上发展起来的新技术,旨在将那些微服务间的连接、安全、流量控制和可观测等通用功能下沉为平台基础设施,实现应用与平台基础设施的解耦。这个解耦意味着开发者无需关注微服务相关治理问题而聚焦于业务逻辑本身,提升应用开发效率并加速业务探索和创新。换句话说,因为大量非功能性从业务进程剥离到另外进程中,Service Mesh 以无侵入的方式实现了应用轻量化。...

2020-10-18 23:55:35 219

原创 云原生架构白皮书学习笔记(7):主要云原生技术-开放应用模型(OAM)

主要云原生技术开放应用模型(OAM)OAM 主要定义了三个具体的概念和对应的标准,它们包括应用组件依赖、应用运维特征和应用配置:组件依赖:OAM 定义和规范了组成应用的组件(Component)。例如,一个前端 Web Server 容器、数据库服务、后端服务容器等;应用运维特征:OAM 定义和规范了应用所需的运维特征(Trait)的集合。例如,弹性伸缩和 Ingress 等运维能力;应用配置:OAM 定义和规范了应用实例化所需的配置机制,从而能够将上述这些描述转化为具体应用实例。具体来说,运维

2020-10-11 23:53:01 207

原创 云原生架构白皮书学习笔记(6):主要云原生技术-Serverless

主要云原生技术ServerlessKubernetes 成为了云计算的新一代操作系统,面向特定领域的后端云服务(BaaS)则是这个操作系统上的服务 API,存储、数据库、中间件、大数据、AI等都开始变为全托管的云形态,用户不再需要搭建存储系统、部署数据库软件,无需关注同质化的、负担繁重的基于服务器等基础设施的开发、运维、安全、高可用等工作。当这些 BaaS 云服务日趋完善时,Serverless 因为屏蔽了服务器的各种运维复杂度,让开发人员可以将更多精力用于业务逻辑设计与实现。Serverless

2020-09-27 23:51:16 507

原创 云原生架构白皮书学习笔记(5):主要云原生技术-云原生微服务

当然啦,首先你得有个域名啊(如果有域名的大佬,请忽略).一般在买阿里云ECS的时候,应该就一起买了吧.好像组合买有优惠.没有买的可以去控制台->域名那里买一个,然后,买完后还得备案,不备案无法使用.这个过程大概1-2周....

2020-09-20 23:59:45 744

原创 云原生架构白皮书学习笔记(4):主要云原生技术-容器技术

主要云原生技术容器技术容器技术背景与价值三个核心价值:敏捷弹性可移植性容器编排分布式应用管理核心能力:资源调度应用部署与管理自动修复服务发现与负载均衡弹性伸缩K8S设计理念:声明式API可扩展性架构可移植性...

2020-09-13 23:49:15 292

原创 云原生架构白皮书学习笔记(3):云原生架构模式

云原生架构模式常见模式列举服务化架构模式服务化架构是云时代构建云原生应用的标准架构模式,要求以应用模块为颗粒度划分一个软件,以接口契约(例如 IDL)定义彼此业务关系,以标准协议(HTTP、gRPC 等)确保彼此的互联互通,结合DDD(领域模型驱动)、TDD(测试驱动开发)、容器化部署提升每个接口的代码质量和迭代速度。服务化架构的典型模式是微服务。需要注意,服务拆分导致要维护的模块数量增多,如果缺乏服务的自动化能力和治理能力,会让模块管理和组织技能不匹配,反而导致开发和运维效率的降低。Mesh 化

2020-08-31 18:30:56 735

原创 云原生架构白皮书学习笔记(2):云原生架构原则

云原生架构云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点。传统单体应用中,开发人员的代码包含3部分:业务代码、三方软件、处理非功能特性的代码,其中只有业务代码是核心,是对业务真正带来价值的。云原生架构从业务代码中剥离了大量非功能性特性到 IaaS 和 PaaS 中,从而减少业务代码开发人员的

2020-08-23 23:51:37 576

原创 云原生架构白皮书学习笔记(1):为什么需要云原生

为什么需要云原生计算机软件技术架构进化有两大主要驱动因素,一个是底层硬件升级,另一个是顶层业务发展诉求。正如伴随着 x86 硬件体系的成熟,很多应用不再使用昂贵、臃肿的大中型机,转而选择价格更为低廉的以 x86 为主的硬件体系,也由此诞生了包括 CORBA、EJB、RPC 在内的各类分布式架构;后由于互联网业务飞速发展,人们发现传统 IOE 架构已经不能满足海量业务规模的并发要求,于是又诞生了阿里巴巴 Dubbo & RocketMQ、Spring Cloud 这样的互联网架构体系。云计算从工业化

2020-08-16 23:51:32 491

原创 Serverless 学习笔记 (6): Serverless应用场景

Serverless应用场景Serverless 引擎盖下的运作机制,FaaS 依赖分层调度和极速冷启动的特性,在无事件时可以缩容到 0。那么它的应用场景是什么呢?我们需要先理解 FaaS 的进程模型。FaaS 进程模型用完即毁型:函数实例准备好后,执行完函数就直接结束。这是 FaaS 最纯正的用法。在用完即毁型中,我们只要将 MVC 的 Control 层部署到函数执行就可以了。这也意味着我们要将我们的 MVC 架构的 Control 函数一个个拆解出来部署,一个 HTTP 请求对应一个 Con

2020-08-09 23:21:24 487

原创 Serverless 学习笔记 (5): Serverless背后运行原理

Serverless背后运行原理Serverless 是对服务端运维体系的极端抽象在 Serverless 出现之前,我们要部署这样一个"Hello World"应用得何等繁琐。首先为了运行我们的应用,我们要在服务端构建代码的运行环境:我们要购买虚拟机服务,初始化虚拟机运行环境,安装我们需要的应用运行环境,尽量和本地开发环境保持一致;紧接着为了让用户能够访问我们刚刚启动的应用,我们需要购买域名,用虚拟机 IP 注册域名;配置 Nginx,启动 Nginx;最后我们还需要上传应用代码,启动应用。而 Se

2020-08-02 23:15:13 794

原创 Serverless 学习笔记 (4): 到底什么是Serverless?

到底什么是Serverless?Serverless 能解决什么问题?理清 Serverless 要解决的问题其实很简单,我们可以从字面上把它拆开来看。Server 这里指服务端,它是 Serverless 解决问题的边界;而 less 我们可以理解为较少关心,它是 Serverless 解决问题的目的。组合在一起就是“较少关心服务端”。怎么理解这句话呢?我们依然是拆开来分析。...

2020-07-27 00:00:41 248

原创 Serverless 学习笔记 (3): 为什么阿里要举集团之力趟坑Serverless?

为什么阿里要举集团之力趟坑Serverless?阿里 Serverless 历程Serverless 兴起于 2017 年,阿里 2018 年正式启动内部 Serverless 资源底座的准备工作,2019 年基于搭建好的底座建设上层前端框架,到 2019 年双十一,阿里已经在部分电商导购业务上开始实践这套新的研发模式。为什么阿里会上升到整个集团的高度来推进 Serverless 研发模式升级,阿里 Serverless 研发升级项目的负责人杜欢表示:“ 这件事本身好像是一件技术的事情,但其实它背后就

2020-07-19 23:48:33 181

原创 Serverless 学习笔记 (2): 阿里跨境供应链前端架构演进与 Serverless 实践

阿里跨境供应链前端架构演进与 Serverless 实践Serverless 价值Serverless = 广义 FaaS(Function as a service) + BaaS(Backend as a Service)Serverless 能够使开发聚焦业务逻辑,减少工程链路消耗和运维成本,用最小的成本透出业务领域能力。其主要价值可总结为以下3点:高效按量付费免运维Serverless 演进之路1. 青铜时代阿里在 2016 年前还是使用的基于 HSF 的传统微服务架构,存在以

2020-07-13 06:20:02 410 1

原创 Serverless 学习笔记 (1): 为什么要用 Serverless

Serverless 介绍Serverless 能够解决什么问题常见的 MVC 架构,需要购买服务器、关系型数据库,做得好的话还要购买缓存、MQ、负载均衡、CDN 等等,再专业点,还要考虑容灾和备份,一年下来开销不小,而 Serverless 可以极大的降低成本。Serverless 通过对运维体系的极端抽象,给应用开发和部署提供了一个极简模型,可以让一个零运维经验的人,几分钟就部署一个 Web 应用上线,并对外提供服务。所以,总体来讲,Serverless 能够使应用开发省钱、省力气。为什么大公司会

2020-07-06 08:08:56 1163 1

xml指南(基础、高级、实例、资源)

XML基础 XML 主页 XML 简介 XML 如何使用 XML 语法 XML 元素 XML 属性 XML 确认 XML 浏览器 XML 检视 XML 使用CSS XML 使用XSL XML 数据岛 XML 解析器 XML 应用 XML 高级部分 XML 命名空间 XML CDATA XML 编码 XML 服务器 XML 应用 XML HTTP XML 行为 XML 技术 实例/测验 XML 例子 XML 测验 资源 XML 书籍 XML 规范

2009-04-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除