自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fajian.chen

技术与业务融合

  • 博客(183)
  • 收藏
  • 关注

原创 Kafka 多线程开发消费者实例

目前,计算机的硬件条件已经大大改善,即使是在普通的笔记本电脑上,多核都已经是标配了,更不用说专业的服务器了。如果跑在强劲服务器机器上的应用程序依然是单线程架构,那实在是有点暴殄天物了。不过,Kafka Java Consumer 就是单线程的设计,你是不是感到很惊讶。所以,探究它的多线程消费方案,就显得非常必要了。

2025-03-29 20:28:55 1086

原创 聚合根的特性

聚合根和聚合根所在层的领域服务都可以组合多个实体完成领域逻辑,但为了DDD分层架构的职责单一,聚合根最好只承担聚合管理职能,只实现聚合内实体和聚合根本身相关的业务逻辑,而跨多个实体的复杂领域逻辑统一放到领域服务中实现。聚合根是聚合对外唯一的接口人,聚合之间以聚合根ID关联的方式接受聚合的外部任务和请求,聚合外不能通过对象引用的方式访问聚合内的对象。聚合根是实体,拥有实体的业务属性和行为,同时也是聚合的管理者,负责协调聚合内的实体和值对象,按照固定的业务规则,完成业务逻辑。

2025-03-29 20:25:52 190

原创 内存模型以及分区,需要详细到每个区放什么。

实现通过类的权限定名获取该类的二进制字节流的代码块叫做类加载器。主要有一下四种类加载器:启动类加载器(Bootstrap ClassLoader)用来加载 java 核心类库,无法被 java 程序直接引用。扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。Java 虚拟机的实现会提供一个扩展库目录。该类加载器在此目录里面查找并加载 Java 类。

2025-03-19 08:58:39 971

原创 技术架构:作为开发,你真的了解系统吗

对于开发人员来说,我们每天都在用技术。但你要知道,我们写的代码,其实只是系统的一小部分,我们了解的技术,也只是系统用到的一小部分。要深入掌握技术架构,我们就需要了解整体的系统。面对一个复杂的系统,我想你可能经常会有以下困扰:1. 不清楚系统整体的处理过程,当系统出问题时,不知道如何有针对性地去排查问题。2. 系统设计时,经常忽视非业务性功能的需求,也不清楚如何实现这些目标,经常是付出惨痛的教训后,才去亡羊补牢。技术架构是从物理层面 定义系统,并保障系统的稳定运行。

2025-03-19 08:39:31 401

原创 什么是零拷贝(Zero Copy)技术?它如何减少在数据传输过程中的性能开销?

零拷贝(Zero Copy)技术是一种在计算机系统中优化数据传输的方法。传统上,在数据从一个地方传输到另一个地方时,需要多次的内存拷贝操作,这会导致性能开销。零拷贝技术的目标就是减少或避免这些不必要的内存拷贝,从而提高数据传输的效率。零拷贝技术通过优化这些步骤,以减少或避免不必要的数据拷贝。零拷贝技术的好处在于它可以大幅减少数据传输过程中的内存拷贝次数,从而降低了CPU和内存的负载,提高了数据传输的效率。这对于高性能的数据传输场景,如网络数据传输、大规模文件操作等,尤其有益。

2025-03-03 16:16:56 262

原创 ⼗万并发抢单业务分析

亿级在线百万并发认证业务分析国内大型银行数据模型实践案例

2025-03-03 16:15:00 303

原创 基于企业架构视角建模

业务的变量(比如客户C、产品P、渠道C和合作方P),形成汇总的企业级流程,容客户、产品、渠道及合作方的差异,支持线上线下全渠道整合,体现端到端的完。业务创新,流程模型体现运营模式,数据模型体现业务模式。整业务处理流程,为客户提供跨渠道的、一致的体验和一站式的产品服务。,主要包括产品分类结构、产品组件、产品条件和产品参数,以及可。,是业务模型的主线,描述了客户端到端的业务操作流程;,是将流程模型以及产品模型中产生的所有数据需求进行逻辑化和抽。中由产品确定的相关业务规则形成企业级的产品模型。

2025-02-24 08:23:57 575

原创 银行业务建模之三级模型

三级模型的建立意味着流程模型框架的确定,同时流程模型所具有的关键特性也能显现出来,本标准三级模型映射到“活动”。三级模型体现了流程模型价值驱动的特征。每个活动代表一段业务流程,具有明确的业务目的。三级模型体现了流程模型企业级的特征。每个活动代表着为外部客户或利益相关方等创造的价值。三级模型体现了流程模型标准化的特征。标准化的流程是可衡量的、可评价的、可共用的、标准的、灵活的流程。这样的流程能为客户提供标准化、高质量服务,能具备与企业战略目标相匹配的流程能力。

2025-02-23 12:46:53 730

原创 基于企业架构视角建模

基于企业级架构视角的模型建设有助于打破组织内IT系统的孤岛式建设,核心任务是对银行内战略的分解、传导,帮助企业将零散的能力“聚沙成塔”,确保战略意图和绩效指标逐层落实到每一个流程步骤、程序模块、操作规范中。业务的变量(比如客户C、产品P、渠道C和合作方P),形成汇总的企业级流程,保证渠道、产品线之间业务流程的一致性以提供卓越的客户体验;流程模型能够包容客户、产品、渠道及合作方的差异,支持线上线下全渠道整合,体现端到端的完整业务处理流程,为客户提供跨渠道的、一致的体验和一站式的产品服务。

2025-02-23 11:11:41 300

原创 Netty的线程模型怎么设计的

Netty 的线程模型旨在高效地处理并发连接和请求,以优化网络应用程序的性能。其线程模型包括了多种优化技术,例如。这些机制使 Netty 能够高效处理大规模并发连接和请求,是其在高性能网络编程中广泛应用的基础。等,用于在高负载下保持高效稳定的性能。下面详细介绍 Netty 的线程模型及其提升性能的方法。示例代码:简单的 Netty 服务器线程模型。Netty 线程模型概述。2. Worker 线程。Netty 的线程模型。1. Boss 线程。3. 用户自定义线程。

2025-02-22 09:39:41 794

原创 什么是HTTP/2协议?NGINX如何支持HTTP/2并提升网站性能?

HTTP/2是一种用于在Web浏览器和服务器之间进行通信的协议,旨在提高网站性能和加载速度。它是HTTP/1.1的继任者,引入了许多优化和改进,以适应现代Web应用的需求。HTTP/2的主要目标是减少延迟、提高效率,以及更好地支持并发请求。通过启用HTTP/2并进行相应的优化,你可以显著提升网站性能,改善用户体验,以及减少资源消耗。需要注意的是,HTTP/2在大多数现代浏览器中得到支持,但仍建议进行兼容性测试,以确保在不同的浏览器中都能正常工作。

2025-02-22 09:32:26 552

原创 180Wtps超高并发、大流量生产案例-通用模式抽象

在经历过春节超大流量活动后的设计与实现后,有一些总结和经验与大家一起分享一下。大流量场景,为了保证活动最终上线效果,容灾是一定要做好的。参考业界通用实现方案,如降级、限流、熔断、资源隔离,根据预估活动参与人数和效果进行使用存储预估等。1)限流方面应用了api层nginx入流量限流,分布式入流量限流,分布式出流量限流。这几个限流器都是字节跳动公司层面公共的中间件,经过大流量的验证。2)首先进行了实际单实例压测,根据单实例扛住的流量与本次春节活动预估流量打到该服务的流量。

2025-02-21 16:48:52 393

原创 如何写架构设计⽂档

在软件设计的不同阶段应该设计不同的UML模型,将不同阶段输出的UML模型图放在⼀个⽂档中,对每张模型图配以适当的⽂字说明,就构成⼀篇设计⽂档。对于规模不太⼤的软件系统,我们可以将概要设计⽂档和详细设计⽂档合并成⼀个设计⽂档。这⾥,我会展现⼀个设计⽂档示例模板,你可以参考这个模板编写你的设计⽂档。⽂档开头是设计概述,简单描述业务场景要解决的核⼼问题领域是什么。⾄于业务场景,应该在专⻔的需求⽂档中描述,但是在设计⽂档中,必须要再简单描述⼀下,以保证设计⽂档的完。

2025-02-19 21:55:54 975

原创 Kafka副本机制详解

在讨论具体的副本机制之前,我们先花一点时间明确一下副本的含义。我们之前谈到过,Kafka 是有主题概念的,而每个主题又进一步划分成若干个分区。副本的概念实际上是在分区层级下定义的,每个分区配置有若干个副本。

2025-02-19 16:51:21 738

原创 敏捷与DevOps

DevOps是一种强调开发人员和IT运维人员沟通协作的文化、运动或实践。

2025-02-19 08:59:35 406

原创 基于流程建模业务组件的构建方法

以表格形式描述业务组件定义,包括的信息名称业务组件名称描述描述业务组件的目的、定义、范围任务描述业务组件所包含的任务首责实体描述业务组件所包含的数据模型的首责数据实体以存款为例名称存款描述目的:客户视角:客户(对公客户、个人客户)根据收益需要和结算需要选择存款产品,利用现有渠道,突破时间和空间限制,合理选择各种支付结算工具方便快捷地进行查询、存款、取款、转账等业务。

2025-02-18 16:28:59 577

原创 银行IT治理——安全架构定义

安全架构的定义安全架构的定义安全架构是指为应对新的安全威胁,以及IT技术和业务的发展过程中形成的新安全态势,所提出的安全防护理念、安全技术、安全组件、安全服务及管控模式等应对措施的集合。企业应结合自身特点和业务发展开展安全架构的建设工作。安全架构原则安全架构设计遵循以下原则::将适应业务发展作为安全服务、安全基础框架建设的目标和方向。将安全管理由传统的以技术领域划分转变为以业务应用场景和流程划分,从信息系统安全延伸到应用安全、业务安全,从单点控制提升到企业级、全局风险管控的管理高度。

2025-02-18 15:57:58 714

原创 什么是堆外内存

堆外内存(Off-Heap Memory)是指Java应用程序在堆内存之外的内存区域进行的内存分配。JVM的堆内存(Heap Memory)是用于大部分Java对象的分配,而堆外内存允许在JVM控制之外管理内存,这种内存通常是通过操作系统的直接内存分配来实现的。堆外内存的特点如何使用堆外内存在Java中,使用堆外内存的常见方法是通过NIO(New I/O)中的ByteBuffer类来实现。示例代码注意事项。

2025-02-17 19:16:19 439

原创 如何使用 Ollama 在本地设置和运行 DeepSeek R1

了解如何使用 Ollama 在本地安装、设置和运行 DeepSeek-R1 并构建一个简单的 RAG 应用程序在本教程中,我将逐步介绍如何在本地运行以及如何使用 Ollama 进行设置。我们还将探索使用 R1 模型、LangChain 和 Gradio 构建一个简单的 RAG 应用程序,该应用程序可在您的笔记本电脑上运行为什么要在本地运行 DeepSeek-R1?在本地运行 DeepSeek-R1 可以让您完全控制模型执行,而无需依赖外部服务器。隐私和安全:没有数据离开您的系统。不间断访问。

2025-02-17 19:11:20 1159

原创 线程池中线程复用原理

线程复用的关键是将任务的提交和线程的创建、管理、执行分离,通过线程池来统一管理和调度,减少了创建和销毁线程的开销,提高了系统的效率。同时,由于线程池的复用特性,可以有效控制并发度,避免大量线程的创建和销毁导致的系统负载过大。线程池中的线程数量是有限的,核心线程数通常是固定的,最大线程数可以设置,超过最大线程数后,任务会被拒绝。线程池会对线程进行封装,核心原理在于将线程的创建和管理与任务的执行分离。线程池的线程复用原理是指,将线程放入线程池中重复利用,,如果是,则新建一个线程来执行任务;

2025-02-11 09:03:51 373

原创 实现:多活的基础中间件

API Router是一个HTTP反向代理和负载均衡器,部署在公有云中作为HTTP API流量的入口,它能识别出流量的归属shard,并根据shard将流量转发到对应的ezone。API Router支持多种路由键,可以是地理位置,也可以是商户ID,订单ID等等,最终由API Router映射为统一的。GZS维护着整个多活的路由表,其他所有的服务都从GZS订阅路由信息。切换机房的操作也在GZS控制台中完成。路由表包括:地理围栏信息,shard到。

2025-02-11 09:00:58 1236

原创 使用 ArchiMate 和 EA 进行企业架构建模

企业架构设计到战略、业务、数据、应用、技术等多个层次,每个层次都有很多内容,这就需要在概 念上区分清楚,对不同的概念采用不同的符号,以便:描述清晰,理解明确,行动有方向。ActiMate是企业架构建模的标准语言,支持企业架构的所有层次的建模:1.企业战略2.业务架构3.数据架构4.应用架构5.技术架构6.实现迁移如下是使用ArchiMate建立的一个企业架构的多层次简图:ArchiMate建模企业架构的6个层次:1.战略层:指定企业架构的战略目标、成长路线图。

2025-02-10 10:51:11 577

原创 ArchiMate 和 TOGAF (the Open Group Architecture Framework) 的关系

我们给一个产品做架构时,一开始肯定不是直接出功能模块、数据关系等,最重要的是要从金字塔上端开始,从到(这些更有可能公司制定),才到目标。目标主要做的就是分析到,这个也是项目组在做业务规划和架构时需要花时间的明确地方,相关涉众必须在。如果使命、愿景和测路是大方向,那么目标就是具体做事情前的指导,如果这个错了,则会对后续工作造成不可想象的后果。目标确定后,我们要做的就是作具体的As-Is分析以及To-Be了。那么我们下面看看做架构时,我们需要关注哪些方面呢?

2025-02-10 09:14:22 513

原创 超高并发直播弹幕方案

推送器推送,哪个地方看到的最多,视频网站,我们看到视频节目的时候,大家要对这个节目进行欢乐,吐槽和评论。这个就是我们看到的弹幕服务器推送技术干嘛用?就是让用户在使用网络应用的时候,不需要一遍又一遍的去手动刷新就可以及时获得更新的信息。大家平时在上各种视频网站时,对视频节目进行欢乐的吐槽和评论,会看到各种弹幕,当然,他们是用flash技术实现的,对于我们没有用flash的应用,一样可以实现弹幕。又比如在股票网站,往往可以看到,各种股票信息的实时刷新,上面的这些都是基于服务器推送技术。对于没有flash的应用,

2025-02-07 16:44:55 930

原创 互联网分布式ID解决方案

1. 基于UUID2. 基于DB数据库多种模式(自增主键、segment)3. 基于Redis4. 基于ZK、ETCD5. 基于SnowFlake6. 美团Leaf(DB-Segment、zk+SnowFlake)7. 百度uid-generator()

2025-02-07 16:10:19 601

原创 Kafka 无消息丢失最佳实战

1. 不要使用 producer.send(msg),而要使用 producer.send(msg, callback)。记住,一定要使用带有回调通知的 send 方法。2. 设置 acks = all。acks 是 Producer 的一个参数,代表了你对“已提交”消息的定义。如果设置成 all,则表明所有副本 Broker 都要接收到消息,该消息才算是“已提交”。这是最高等级的“已提交”定义。3. 设置 retries 为一个较大的值。

2025-02-07 09:25:14 414

原创 深入运行时数据区

首先“aaaa”会被认为字面量,先在字符串常量池中查找(.equals()),如果没有找到,在堆中创建“aaaa”字符串对象,并且将“aaaa”的引用维护到字符串常量池中(实际是一个hashTable结构,存放key-value结构数据),再返回该引用;首先“aaaa”会被认为字面量,先在字符串常量池中查找(.equals()),如果没有找到,在堆中创建“aaaa”字符串对象,然后再在堆中创建一个“aaaa”对象,返回后面“aaaa”的引用;:类,接口,方法,字段等相关的描述信息。最多创建一个字符串对象。

2025-02-06 16:22:13 622

原创 图文并茂-jvm内存模型

jvm内存模型

2025-02-06 16:03:49 343

原创 如何使用缓存优化系统性能?

平时使用拦截器(例如 Fiddler)或浏览器 Debug 时,我们经常会发现一些接口返回 304 状态码 + Not Modified 字符串,如下图中的极客时间 Web 首页。如果我们对前端缓存技术不了解,就很容易对此感到困惑。浏览器常用的一种缓存就是这种基于 304 响应状态实现的本地缓存了,通常这种缓存被称为协商缓存。协商缓存,顾名思义就是与服务端协商之后,通过协商结果来判断是否使用本地缓存。一般协商缓存可以基于请求头部中的 If-Modified-Since 字段与返回头部中的 Last。

2025-02-06 15:18:20 802

原创 图解Java类文件到虚拟机

虚拟机把Class文件加载到内存并对数据进行校验,转换解析和初始化形成可以虚拟机直接使用的Java类型,即查找和导入class文件1)通过一个类的全限定名获取定义此类的二进制字节流2)将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构3)在Java堆中生成一个代表这个类的对象,作为对方法区中这些数据的访问入口Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。在 Java堆中生成一个代表这个类的。

2025-02-06 14:05:11 648

原创 设计模式与技术组件

技术组件与设计模式

2025-02-06 13:47:09 377

原创 如何优化垃圾回收机制?

掌握 GC 算法之前,我们需要先弄清楚 3 个问题。第一,回收发生在哪里?第二,对象在什么时候可以被回收?第三,如何回收这些对象?JVM 的内存区域中,程序计数器、虚拟机栈和本地方法栈这 3 个区域是线程私有的,随着线程的创建而创建,销毁而销毁;栈中的栈帧随着方法的进入和退出进行入栈和出栈操作,每个栈帧中分配多少内存基本是在类结构确定下来的时候就已知的,因此这三个区域的内存分配和回收都具有确定性。那么垃圾回收的重点就是关注堆和方法区中的内存了,堆中的回收主要是对象的回收,方法。

2025-02-05 20:28:46 1171

原创 G1相对于CMS的的优势

G1常用参数: -XX: +UseG1GC 开启G1垃圾收集器 -XX: G1HeapReginSize 设置每个Region的大小,是2的幂次,1MB-32MB之间 -XX:MaxGCPauseMillis 最大停顿时间 -XX:ParallelGCThread 并行GC工作的线程数 -XX:ConcGCThreads 并发标记的线程数 -XX:InitiatingHeapOcccupancyPercent 默认45%,代表GC堆占用达到多少的时候开始垃圾收集。1.G1在压缩空间方面有优势。

2025-02-05 20:14:54 332

原创 在 DDD 中,如何处理跨多个实体的复杂业务?

处理跨多个实体的复杂业务是DDD中的一个关键挑战,需要深入理解业务领域、合理划分聚合、制定适当的领域服务和规则,以及不断进行建模和迭代来满足实际需求。领域驱动设计的方法和模式可以帮助团队更好地理解和应对这种复杂性。在DDD中,跨多个实体的复杂业务通常需要交由领域服务进行协调。

2025-02-05 15:58:43 292

原创 定制化企业架构元模型

普华永道与某保险集团基于TOGAFADM企业架 构开发方法论,结合某保险集团实际情况,定制化企业架构模型框架。对企业架构进行分类,分别为业务架构、应用架构、数据架构、技术架构。基于分类,参考 ArchiMate架构元模型(一种图形语言),围绕某保险集团实际情况,定制化构建企业架构元模 型,即元模型元素和元素间的关系,如业务流 程、应用功能、数据实体等。对企业架构进行分类,分别为业务架构、应用架构、数据架构、技术架构。定制化企业架构元模型,即元模型元素和元素间的关系、如业务流程、应用功能、数据实体等。

2025-02-05 14:26:27 410

原创 案例-百度工程效率

大厂案例-百度工程效率架构规划之如何划分任务边界?

2025-02-05 09:04:31 304

原创 解释建造者模式的作用及其在什么场景下使用。

建造者模式(Builder Pattern)是一种创建型设计模式,其主要作用是将一个复杂对象的构建过程和其表示分离,以便同样的构建过程可以创建不同的表示。建造者模式通过将对象的构建细节隐藏在具体的建造者类中,使得客户端代码可以更简洁地构建对象,同时也提供了更好的可维护性和扩展性。总之,建造者模式适用于构建复杂对象的场景,将构建过程分解为多个可复用的步骤,提供更好的灵活性和可维护性。

2025-02-04 21:28:24 26

原创 架构规划之任务边界划分过程中承接分配

任务 a 的备份任务是 b,如果 b 成功,那么 a 成功。任务 a 强依赖于任务 b,如果 b 失败,那么 a 失败。这种关系是传递的,即:a->b&b->c=> a->c。在这张图中,一个架构活动强依赖于任务 a,任务 a 则强依赖于互为备份的任务 b 和任务。所谓任务边界划分,就是判定某个任务在多个承接方中,应该归属到哪个承接方的过程。这种关系是传递的,即:a>b&b>c=>a>c。这种关系也是自反的,它们不是对称的。任务与任务之间的关系分为两种基本类型,一种是强依赖关系,另一种是备份关系。

2025-02-04 21:25:24 467

原创 智能家居监控系统数据收集积压优化

亮点:RocketMQ 消息大量积压问题的解决假设我们正在开发一个智能家居监控系统。该系统从数百万个智能设备(如温度传感器、安全摄像头、烟雾探测器等)收集数据,并通过 RocketMQ 将这些数据传输到后端进行处理和分析。在某些情况下,比如突发事件或系统升级时,可能会导致消息处理速度跟不上消息生产速度,从而造成消息积压。通过以上方案,我们能够有效地处理 RocketMQ 消息积压问题,确保智能家居监控系统能够及时处理大量设备数据,特别是在数据突增的情况下。

2025-01-30 22:31:59 976

原创 MySQL 索引存储结构

B+Tree 索引和 Hash 索引是我们比较常用的两个索引数据存储结构,B+Tree 索引是通过。创建的主键索引默认使用的是 B+Tree 索引。如果我们使用的是 InnoDB 存储引擎,由于 InnoDB 使用的是聚族索引,聚族索引中的叶。树的 serial_no,找到对应的叶子节点,获取主键值,然后再通过聚族索引中的 B+ 树检索。如果我们使用的是 MyISAM 存储引擎,由于 MyISAM 使用的是辅助索引,索引中每一个。此时创建的索引是一个辅助索引,与 MyISAM 存储引擎的主键索引的。

2025-01-30 22:20:57 1555

蚂蚁金融智能中台的数据底座建设与应用场景

内容概要:本文详细介绍了蚂蚁金服从构建数据底座的角度出发,搭建了一套能够应对大规模金融数据处理的基础设施架构和技术体系。该文中涵盖多个方面内容:一是通过具体事例阐述了智能理财、智能营销、智能保险、智能客服等金融科技实际落地的应用案例;二是深入剖析了蚂蚁集团内部如何通过构建高效的金融视觉平台、NLP 和知识图谱技术平台来满足不同的金融服务需求;三是讨论了确保金融行业底线的安全策略,特别是数据流转过程中的安全保障措施;四是从提升效率入手,讲解AI 在标注环节、数据流转和数据增强等方面的具体应用;五是对标注质量控制流程及其关键的技术细节进行了详细解读,提出了针对标注过程的安全性和合规性的解决方案。 适合人群:金融行业的技术人员、从事数据科学的专业人士以及对金融智能化感兴趣的科技从业者。 使用场景及目标:帮助金融机构了解和学习蚂蚁集团在智能金融领域的最佳实践;为其他想要采用相似技术和方法的企业提供了宝贵的经验借鉴;促使业内工作者关注数据质量和安全管理,并掌握提高工作效率的方法。 阅读建议:鉴于文中涉及到大量的专业术语和技术要点,建议读者提前准备好相关领域的基础知识以便更好地理解全文;同时,鼓励读者结合自身工作背景思考如何将在文中提到的技术应用于所在组织当中。

2025-02-06

腾讯社交网络APM端到端运维监控体系解析及其应用场景

内容概要:本文详细介绍了腾讯社交网络在应用性能管理(APM)领域的端到端运维监控体系建设经验。从传统的基础设施监控出发,逐步演进形成了涵盖云环境下的大规模分布式系统的全维度实时监控解决方案。文章重点探讨了针对不同类型的服务对象(如用户端、服务端及基础设施层面)所构建的一系列监控子系统的工作机制与实际效果,并深入阐述了根因定位系统——'ROOT'的设计思想和技术细节。特别是通过对告警信息的智能化筛选、分类以及根源挖掘,极大地缩短了问题排查的时间周期,有效提升了整个平台的稳定性和用户体验感。此外还涉及了一些前沿方向如微服务治理和SaaS化的展望。 适合人群:对于想要深入了解大型互联网企业运维管理模式的技术从业者或者研究者。 使用场景及目标:该资料旨在帮助用户掌握现代IT运营管理的最佳实践方法,适用于希望改进自身系统可用性的公司内部团队参考借鉴。同时也可以作为高校相关专业师生的学习资料来辅助教学科研工作。 其他说明:本文展示了腾讯多年来积累下来的宝贵工程经验和创新思维,在当前软件定义一切的趋势下极具参考价值。文中提及的各项技术和思路不仅可以应用于社交类产品,同样也能移植到其他类型的在线服务平台之上,具有广泛的实际操作意义。

2025-01-20

对于MySQL调优,需要确认业务表结构设计是否合理,SQL语句优化是否足够,该添加的索引是否都添加了,是否可以剔除多余的索引等等

对于这个查询,我们当然可以选择全表扫描来逐一对比搜索条件是否满足要求,我们也可以先使用二级索引找到对应记录的id值,然后再回表到聚簇索引中查找完整的用户记录。 由于普通二级索引并不限制索引列值的唯一性,所以可能找到多条对应的记录,也就是说使用二级索引来执行查询的代价取决于等值匹配到的二级索引记录条数。如果匹配的记录较少,则回表的代价还是比较低的,所以MySQL可能选择使用索引而不是全表扫描的方式来执行查询。这种搜索条件为二级索引列与常数等值比较,采用二级索引来执行查询的访问方法称为:ref。 对于普通的二级索引来说,通过索引列进行等值比较后可能匹配到多条连续的记录,而不是像主键或者唯一二级索引那样最多只能匹配1条记录,所以这种ref访问方法比const要差些,但是在二级索引等值比较时匹配的记录数较少时的效率还是很高的(如果匹配的二级索引记录太多那么回表的成本就太大了)。

2025-01-17

基于Activiti的低代码办公平台设计与开发:实现流程与表单自动化管理

内容概要:本文介绍了一个基于 Activiti 流程引擎的低代码办公平台的设计与开发。该平台由低代码设计模块和基本信息模块组成,支持线上创建业务对象、表单、数据对象和流程模型等,利用 DDL语言进行数据库操作、Activiti 进行流程管理,前端使用 Bpmn-js 和 Vue.js 开发,表单和数据对象通过 JSON 存储和 Vue 的 Element UI 回显。基本信息模块则涵盖了权限管理和系统管理。测试结果显示平台功能完整,设计简便易用。 适合人群:适合中小型企业的技术人员、管理人员和其他参与办公流程设计与实施的相关人员。 使用场景及目标:平台旨在减少开发投入,降低对专业开发人才的依赖。主要适用于企业内部审批、业务流程自动化等领域,帮助优化业务流程管理,提高办公效率。 其他说明:本文展示了基于Activiti低代码办公平台的具体应用场景和技术实现细节。关键技术点涉及 Activiti 工作流、Vue.js 前端框架和 MySQL 数据库管理系统,为开发类似办公系统提供了有价值的参考和借鉴。

2025-01-11

银行业IT治理最佳实践-构建安全、高效的IT治理框架以适应数字化转型

内容概要:本文系统性探讨了银行业的 IT 治理最佳实践,特别是结合 COBIT5框架与建设银行的成功经验。全文分为六大部分,依次讲解了IT组织、IT制度、业务架构、IT架构、科技内控五大方面。首先强调IT组织需在高层构建强有力的决策体系并明确各职责,同时需在基层构建高效执行体系,确保IT战略的有效实施。接着,提出了制度体系的框架和制定流程,确保IT治理机制的透明和有效。随后讨论了基于业务需求设计的企业级业务架构,以及如何通过分层的 IT架构实现高效的数据、应用和技术资源整合。最后一部分讲述了科技内控,强调建立监管体系的重要性,确保科技合规、检查监督、考核评价、整改落实的有效闭环运作。 适合人群:具备一定金融行业知识和IT背景的技术和管理人员。 使用场景及目标:适用于希望提升IT治理能力的银行和其他金融机构,旨在为企业构建全面的IT治理框架,应对复杂的内外部风险和满足不断变化的监管需求,以促进数字化转型的成功。 其他说明:文中提及的具体实例和操作细节,可以帮助管理者深入了解IT治理的具体实现方法,并从中获得有益的参考和借鉴。同时强调安全和效率兼顾的理念,并指出安全架构的重要性。此外,《IT治理最佳实践》还提供了详细的图表以辅助理解和实践。

2025-01-10

华为变革及流程管理框架:IPD和ISC流程的详细解析

内容概要:本文档详细介绍了华为公司的变革管理及主要业务流程框架,重点探讨了IPD(集成产品开发)和ISC(集成供应链)两大核心流程。文中通过具体的项目管理和流程执行细节,阐述了华为如何通过IPD和ISC提升产品开发效率和供应链管理水平。内容涵盖了从项目启动、项目规划、项目执行到项目收尾的全过程,包括关键活动、责任人、时间安排和相关工具与方法。 适合人群:适用于对企业管理和业务流程改进感兴趣的管理者、项目经理和企业顾问。 使用场景及目标:适用于企业的变革管理、流程优化和业务流程重组等场景。主要目标是帮助企业建立高效的业务流程,提高产品开发和供应链管理的效率。 其他说明:文档提供了大量的图表和实例,便于读者理解和应用。同时,文档还包含了一些华为内部的实际案例,有助于读者深入理解变革管理的具体实施过程。

2024-12-18

领域驱动设计中实体与限界上下文的重构方法

内容概要:本文介绍了领域驱动设计(DDD)中的实体与限界上下文的重构技术。内容涵盖如何从数据库表转换成Java类、属性与方法的定义、实体、值对象、聚合根和服务的概念,以及在限界上下文中封装类元素以避免不必要的副作用。同时讨论了关系管理、通用语言的创建与维护,以及验证过程。 适用人群:适用于具有Java编程背景,希望深入了解和掌握领域驱动设计重构技巧的研发人员和技术领导者。 使用场景及目标:帮助开发者理解和实践领域驱动设计的关键概念和技术手段,包括但不限于实体与限界上下文的构建和优化,从而提升系统的设计质量和可维护性。 其他说明:文章还强调了在多个限界上下文中共享内核的重要性,并探讨了不同关系类型(如一对多、多对多)的应用场景。通过学习本文,读者将能够更好地应用DDD原则,改善软件架构设计。

2024-12-17

构建高效研发体系:IPD理论及案例解析

内容概要:本文详细介绍了IPD (Integrated Product Development) 研发管理体系的概念、模式背景及其实际应用。首先解释了IPD的基本理念——集成产品开发方法,强调产品开发需全面考虑业务流程、角色与信息等多方面因素的有效协作。文章还探讨了IBMPACE模式与NPD BOK对于现代产品研发体系的重要贡献。此外,具体阐述了华为及其他中国企业导入IPD后的成功经验,揭示了其对企业研发管理效率、产品质量以及客户满意度等方面的显著改善作用。 适用人群:从事技术研发管理的企业领导者、产品经理、项目管理人员。 使用场景及目标:帮助企业管理层理解并实践IPD模式,提高新产品的市场竞争力,缩短开发周期,减少成本开支。适用于希望改进内部研发管理体系、寻求技术创新路径的成长型企业。 其他说明:文章通过实例展示了IPD模式在大型科技公司的具体运用情况,提供了宝贵的学习资料,尤其对正处于快速发展阶段的中国制造业和互联网行业有着重要的借鉴意义。

2024-11-01

领域驱动设计(DDD)中统一语言的开发方法与实践

内容概要:本文介绍了领域驱动设计(DDD)中的统一语言开发方法及其重要性。文章首先阐述了统一语言的目的,即构建一种由团队、开发人员、领域专家和其他参与者共享的语言。随后详细探讨了开发统一语言的方法,如通过对话消除术语和表达的混淆,以及使用事件风暴进行业务流程学习。文中还强调了统一语言在图表、文档和演讲中的应用,确保模型和语言的一致性。最后提供了代码示例,展示如何在实际项目中表达统一语言。 适合人群:对领域驱动设计感兴趣的软件开发人员和技术团队,特别是具有一定经验的研发人员。 使用场景及目标:①理解和应用统一语言的概念和方法;②促进领域专家和技术团队之间的有效沟通;③提高领域模型的质量和准确性。 阅读建议:建议仔细研读每个部分,特别是在代码示例部分,理解如何在实际项目中实施统一语言。此外,参与实践,通过小组讨论和事件风暴等活动来加深理解。

2024-10-26

代码为王时代:车企软件开发能力转型策略解析

内容概要:随着软件在汽车行业的重要性和复杂度日益增加,各大车企纷纷寻求提升自身软件开发能力,以应对自动驾驶化、网联化、电动化、共享化(ACES)等趋势的冲击。文章详细探讨了车企在软件开发方面的转型需求和最佳实践,涵盖了软件开发的各个方面,包括模块化架构、用户为中心的设计、需求管理、组织结构调整、人才引进和培训、‘自研或外包’策略、敏捷开发、持续集成、自动化测试以及性能管理和工具链建设。 适用人群:汽车制造及相关领域的研发管理人员、软件开发人员、企业高管。 使用场景及目标:帮助企业理解和掌握软件开发能力提升的方法论,实现高效的软件开发流程,提高产品质量和市场竞争力,防止因软件问题引发的安全隐患和召回风险,更好地把握未来的行业发展机遇。 其他说明:文章基于麦肯锡的研究和实际案例,提出了11项软件开发的最佳实践,这些实践涵盖了软件开发的各个环节,为车企在软件领域的全面转型提供了实用的指南和借鉴。

2024-10-21

DevOps与持续交付

DevOps与持续交付

2024-10-11

云闪付微服务基础设施建设及分布式ID实践

本文由沈光辉在全球软件研发行业创新峰会上的演讲整理而成,详述了云闪付的微服务基础设施构建与实践路径,涵盖了一般性和专用网关的功能设计及其优势展现、针对多活跃数据中心的具体网络解决方案及部署方法,介绍了统一业务监控系统的设计理念和技术实施方案,并阐述了FastID作为高效稳定的分布式唯一识别号解决方案的设计思路与实施要点。内容涵盖了从云闪付APP的产品和服务概述开始,详细剖析了该产品的业务场景和技术挑战;再到详细的云闪付系统整体技术和应用程序构架,探讨了系统在支持高流量条件下的伸缩性与弹性,进而引出对微服务平台建设的关注,特别是在基础设施建设方面的探索实践,特别是其网关建设和分布式事务处理策略。此外还展示了如何应对业务增长而引发的技术瓶颈问题。 适合人群包括但不限于系统设计架构师、软件研发人员、云服务提供商和IT项目管理等相关从业人员,对于正在从事或有意于大规模在线支付系统建设的工作者尤为适用。适用于正在寻求通过改进网关和分布式事务处理机制增强自身服务能力的情境,并希望实现更为智能高效的运维管理和业务监控的企业和个人。 本文旨在分享云闪付的实践经验与技术成果,并希望能为行业内面临相似挑战的人士们带来启发和借鉴。通过对云闪付实例的研究探讨解决大规模支付平台上所面临的具体问题的方法。

2024-10-10

中国信通院:企业数字化转型蓝皮报告

中国信通院:企业数字化转型蓝皮报告

2024-09-24

中国**公司供应商主数据管理办法

中国**公司供应商主数据管理办法

2024-09-24

业务结果驱动型企业架构的分阶段规划

内容概要:本文探讨了业务结果驱动型企业架构(EA)的重要性与实际操作技巧。文章提出了面对复杂环境时企业需采用分阶段迭代法开发架构的理念,使每个阶段的业务决策更具针对性。并通过明确界定目标商业结果及其对应的关键业绩指标来引导EA发展。进一步区分EA交付结果类型的必要性和具体的实施方案细节也被深入讨论。此外,作者指出要保持企业业务发展的连贯性和高效性,EA团队不仅要与各层级利益相关方密切配合还需掌握一系列的EA工作拆解方法论。 适用人群:企业IT管理人员、技术人员及相关专业学生。 使用场景及目标:企业寻求以更高效、务实的态度开展信息化建设,希望更好地发挥企业IT资源的价值。通过明确目标和制定相应的EA策略,以达成提升企业生产力、效益与市场竞争力的目标。 其它说明:文中强调通过细致的工作分解结构、明晰的利益相关方沟通机制与有效的变更管理机制确保每一个阶段的任务顺利进行,并以此促进整个企业的长远发展战略实现。

2024-09-24

加州政府企业架构框架V2.0

The content overview of the article is about a new enterprise architecture framework for California state agencies (CEAF 2.0), with improvements made based on practical experiences from implementing CEAF 1.0, shifting focus from IT consolidation to business capabilities and results. Suitable for agency staff developing or maintaining Enterprise Architecture (EA), providing EA services as well as planners and supervisors involved in state project implementation processes; and vendors supporting these activities. The framework is applicable when conducting strategic planning and making investment decisions, to ensure investments contribute best towards achieving organizational business goals by promoting a 'architect-plan-implement' approach. To help readers grasp its principles and benefits quickly, it provides detailed guidance across all aspects of creating an effective enterprise architecture.

2024-09-24

TOGAF系列指南:企业架构中的业务场景方法论

内容概要:本文为TOGAF系列指南的一部分,详细介绍并解释了用于企业架构(EA)项目的业务场景(Business Scenarios)方法的应用与步骤

2024-09-17

TOGAF系列指南-业务架构中的价值流映射及其优势

主要内容:文章探讨了‘价值’在业务领域的含义,解释了价值流的结构及其与业务架构其它部分的关系

2024-09-17

空空如也

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

TA关注的人

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