自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术与业务融合思维

共同学习4A架构、安全架构、数据治理、Togaf、研发过程管理相关理论相应的技术战略、技术战术

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

原创 如何在本地使用 DeepSeek Janus-Pro

本文介绍了如何本地部署DeepSeek Janus-Pro多模态模型。Janus系列包含Janus、JanusFlow和Janus-Pro三个版本,通过创新框架统一视觉理解和生成任务。文章详细指导了从GitHub克隆项目、修改代码(改用1B轻量级模型)、创建Docker镜像到本地运行的完整流程。测试表明,1B模型在多模态理解和文本生成方面表现优异,能准确解释图像内容并生成细节丰富的超现实主义图像,效果媲美Stable Diffusion XL。该方法解决了原Gradio演示的软件冲突问题,使模型可在个人电脑

2025-08-08 19:58:04 922

原创 2025 年最佳 AI 代理:工具、框架和平台比较

AI代理:企业创新与效率的新引擎 随着企业面临重复性任务与创新需求的双重挑战,传统自动化已难以应对复杂场景。AI代理凭借感知、决策、学习和多模态处理能力,成为突破性解决方案。2025年领先的AI代理工具包括: 开发框架:如LangGraph(状态保持)、AutoGen(多代理协作)和CrewAI(角色化代理),适合技术团队定制开发。 无代码/开源工具:Dify(低代码)、AutoGPT(任务分解)和Rasa(对话AI),助力非技术团队快速部署。 企业级平台:DevinAI(全栈开发)、Agentforce(

2025-08-08 19:40:23 810

原创 2025 年最佳no-code和open-source AI Agents

低代码/开源AI工具助力非技术团队快速开发智能应用。Dify作为低代码平台支持可视化开发,兼容数百种语言模型;AutoGPT能分解复杂任务并保持记忆,适合技术团队;n8n提供拖拽式工作流自动化;Rasa专注定制化对话系统;BotPress结合可视化与代码钩子创建聊天机器人。这些工具均支持多模型集成、API连接和开源扩展,显著降低AI应用开发门槛,适用于企业级部署和快速原型设计。

2025-08-07 22:30:16 785

原创 什么是AI Agents

AIAgent是一种能够感知环境、自主决策并采取行动以实现目标的智能系统。文章介绍了AIAgent的核心特征:自主性、学习适应性和环境交互能力,以及反应型和思考型两种主要类型。在应用方面,AIAgent在医疗领域可辅助诊疗和预测分析,在金融领域则用于自动化交易和欺诈检测。文章还推荐了使用Docker和SpringAI运行AI模型的技术方案。这些智能系统正通过实时数据处理和决策能力,推动各行业的数字化转型。

2025-08-07 20:08:40 1099

原创 如何设计一个开放授权平台?

本文介绍了开放授权平台的两大核心功能:认证和授权。在认证方面建议采用OAuth2.0协议标准;授权方面详细说明了第三方应用注册流程,包括提供clientID、消息推送地址和密钥对等必要信息,并阐述了公钥加密、私钥解密的交互机制。特别指出授权平台会同步返回处理结果,而业务数据则通过异步推送方式传输。最后推荐了SpringAI-LLM模型自动生成SQL语句的技术方案。

2025-08-06 22:53:23 317

原创 什么是OAuth2.0协议?有哪几种认证方式?什么是JWT令牌?和普通令牌有什么区别?

OAuth2.0是一种开放授权标准,允许用户授权第三方应用访问其存储在服务提供方的数据,而无需共享密码。该协议包含四种认证模式,核心在于处理三方之间的信任关系。普通令牌存在性能瓶颈问题,而JWT令牌通过将授权信息加密存储在令牌字符串中,使资源服务器无需频繁向授权服务器验证,有效提升性能。JWT令牌本质是一个包含用户信息和授权的加密字符串,解决了高并发场景下的令牌验证效率问题。

2025-08-06 22:50:18 467

原创 ES集群规划与调优

Elasticsearch集群规划需考虑数据规模、增长趋势和机器配置。JVM堆内存建议不超过32G,30G堆约可处理10T数据。业务搜索场景通常需要2-4台机器(千万到数十亿数据),大数据分析场景(如ELK)可能需要上百节点(千亿级数据)。节点可配置为Master、Data或Coordinator角色,支持多角色组合。分片数量建议按节点数的1.5-3倍设置,单个分片不超过30GB,日志类按日期索引可设单分片。

2025-08-04 18:16:11 291

原创 ESDocValues机制

ElasticSearch通过倒排索引实现快速搜索,但在排序和聚合时效率较低。DocValues通过构建正排索引解决了这个问题,将文档映射到词项,便于排序、聚合等操作。DocValues默认开启,关闭后无法进行相关操作。它采用列式存储结构,支持数据压缩(如数字类型使用最大公约数),减少磁盘空间占用并提高访问速度。DocValues与倒排索引配合使用,前者用于搜索,后者用于聚合,共同提升ElasticSearch性能。

2025-08-04 18:10:04 680

原创 ES集群调优策略

本文介绍了Elasticsearch索引性能优化的几个关键方法:1)首次数据导入时设置副本数为0,写入完成后再恢复;2)自动生成docID避免版本检查;3)合理设置mappings减少不必要索引;4)禁用_source字段或过滤不必要内容;5)调整刷新间隔降低系统负载;6)使用批处理提升写入效率。这些优化措施通过减少磁盘I/O、降低CPU消耗、合并操作等方式,可显著提升Elasticsearch的索引性能。

2025-08-04 18:03:07 668

原创 衡量分布式系统的指标有哪些

本文介绍了分布式系统的关键性能指标:吞吐量、响应延迟和并发能力,三者往往相互制约。同时阐述了系统可用性的衡量方式及其作为容错能力体现的重要性。在可扩展性方面,指出了分布式系统追求线性扩展性的目标。最后讨论了副本机制带来的数据一致性问题,强调一致性模型对用户体验的影响。文章还推荐了相关技术架构体系的延伸阅读。

2025-07-29 09:05:38 300

原创 JVM 内存分配性能问题

JVM内存分配不合理会导致频繁GC,影响系统吞吐量和响应时间。文章通过模拟抢购接口的压力测试,发现高并发下堆内存不足引发FullGC问题。通过分析GC日志,调整-Xms和-Xmx参数增大堆内存后,系统吞吐量提升40%,响应时间降低50%。建议结合具体业务场景,通过监控GC日志持续优化JVM内存配置,以提升系统性能。

2025-07-29 08:44:12 824

原创 TLAB(Thread Local Allocation Buffer)

TLAB是JVM为每个线程分配的私有内存区域,用于避免多线程对象分配时的同步冲突。线程在自己的TLAB中分配对象,满后归还给Eden区并申请新TLAB。这种机制分摊了同步开销,提高了分配效率。GC时Eden区的TLAB和非TLAB区域会被统一处理,存活对象被复制到Survivor区。所有堆上对象均可共享,GC只根据根集合扫描对象。该机制类似于TCMalloc等内存分配器的优化策略。

2025-07-24 22:24:41 358

原创 G1垃圾收集器

G1垃圾收集器采用"垃圾优先"原则,通过分区域(Region)内存管理实现,兼顾空间回收效率与停顿时间控制。其设计目标是避免完全回收,但当并发收集速度不足时会触发单线程全GC(计划优化为并行)。关键参数包括:Region大小(1-32MB)、最大停顿时间、并行/并发线程数等。G1通过动态区域分配平衡吞吐量与延迟,适合大内存应用场景。

2025-07-24 22:22:29 413

原创 JVM之方法内联

方法内联是JVM将高频调用方法替换为其方法体的优化技术,旨在消除方法调用的额外开销(栈帧操作、参数传递等)。热点代码判定标准取决于编译模式(客户端1500次/服务端10000次),可通过参数调整。内联条件包括:方法体大小限制(热点方法<325字节)、推荐使用private/static/final修饰以避免类型检查。该优化能提升性能,但需平衡方法体大小与缓存效率。

2025-07-10 20:54:22 327

原创 Kafka的无消息丢失配置怎么实现

Kafka保证消息不丢失的核心在于确保消息"已提交"并满足特定条件:生产者需使用带回调的send方法,设置acks=all和适当的重试次数;Broker端需配置unclean.leader.election.enable=false,设置副本数≥3且min.insync.replicas>1;消费者应禁用自动提交位移。这些措施共同构成了Kafka消息可靠性的保障机制,但需注意其保证是有限度的,依赖于系统的基本可用性前提。

2025-07-10 20:48:44 830

原创 JVM调优第一步,了解JVM常用命令行参数

本文介绍了JVM命令行参数使用指南,包括标准参数(-开头)、非标准参数(-X开头)和不稳定参数(-XX开头)的分类。通过HelloGC示例程序演示了内存溢出情况,并对比了内存泄漏与内存溢出的区别。重点讲解了GC日志分析方法和内存区域地址表示方式,强调不同垃圾回收器的日志格式差异。最后探讨了JVM调优的两个核心指标:吞吐量(用户代码时间占比)和响应时间(STW时长),建议根据应用类型(科学计算/Web服务)选择合适的GC策略(PS+PO或G1)。

2025-06-22 19:39:57 633

原创 彻底征服 Spring AOP 之 理论篇

AOP(面向切面编程)是OOP的补充,其基本单元是切面(Aspect),由切点(Pointcut)和增强(Advice)组成。Spring AOP通过动态代理将切面织入目标对象的方法连接点(Joinpoint)中,实现横切逻辑。Advice包括前置、后置、环绕等类型,通过切点表达式定位特定方法。典型应用场景如权限校验、日志记录等,通过@AspectJ注解配置切面,结合@Pointcut定义匹配规则,用@Before/@Around等实现增强逻辑,使核心业务与通用逻辑解耦。

2025-06-22 19:33:44 778

原创 怎样设计聚合?

摘要:本文介绍了DDD领域建模中聚合构建的5个步骤。以保险投保业务为例,首先通过事件风暴识别实体和值对象;其次选择具有独立生命周期的聚合根(如投保单和客户);然后根据高内聚原则构建包含聚合根、实体和值对象的聚合;接着建立聚合内对象间的引用关系模型;最后将相关聚合划分到同一限界上下文中。文中特别说明了投保聚合中客户数据引用的处理方式,确保数据一致性。

2025-06-17 23:22:57 469

原创 如何理解DDD的领域和子域?

领域是指特定的业务范围或边界,领域驱动设计(DDD)通过细分业务领域来解决问题。领域可以划分为更小的子领域,类似于科学研究中的分析方法。例如,研究桃树时将其细分为器官、组织直至细胞单元,对应DDD中从领域到子域的分解过程。子域的划分有助于建立清晰的模型边界,最终构建完整的业务知识体系。

2025-06-17 23:20:15 417

原创 如何调优Kafka

Kafka调优的核心目标是提升吞吐量(TPS)和降低延时。吞吐量指每秒处理的消息数或字节数,延时则指消息从发送到持久化或消费的耗时。调优时可采用批次化处理策略,通过适当增加少量延时(如从2ms增至10ms)换取吞吐量的大幅提升(如从500条/秒提升至100,000条/秒),这种权衡在实际场景中往往可接受,因为内存操作远快于网络I/O。优化漏斗表明,合理设计可显著改善系统性能。

2025-06-14 21:58:12 1069 2

原创 Spring中观察者模式的应用

观察者模式与发布订阅模式都用于对象间通信,但存在关键差异。观察者模式包含观察者和被观察者,被观察者直接通知观察者;而发布订阅模式通过经纪人(Broker)中介,发布者和订阅者完全解耦。在Spring框架中,事件驱动模型基于观察者模式实现,包含ApplicationEvent(事件)、ApplicationListener(监听器)、ApplicationEventPublisher(发布者)和ApplicationEventMulticaster(事件广播)四大核心组件。Spring提供了多种内置事件如Co

2025-06-14 21:41:07 1571 1

原创 如何评价代码的质量

摘要:本文探讨了高质量代码的五个核心特性:1)可维护性,强调代码修改时能保持稳定;2)可读性,提出代码应便于人类理解;3)可扩展性,遵循"对修改关闭,对扩展开放"原则;4)灵活性,体现为代码对新功能的兼容性;5)简洁性,遵循KISS原则,用简单方案解决复杂问题。文章指出这些特性相互关联,共同构成优秀代码的标准。其中,可维护性因人而异,而可读性是其他特性的基础,最终目标都是提升代码质量和开发效率。

2025-06-11 21:53:49 428

原创 Spring Security是如何完成身份认证的?

摘要:Spring Security认证流程包含四个关键步骤:1)用户凭证被封装为UsernamePasswordAuthenticationToken;2)AuthenticationManager进行验证;3)验证成功返回包含权限信息的Authentication对象(密码被移除);4)认证信息通过SecurityContextHolder存入安全上下文。示例代码展示了完整的认证过程,包括自定义AuthenticationManager实现和线程绑定认证信息的操作。该流程体现了Spring Securi

2025-06-11 21:45:24 592

原创 UC并发工具 CountDownLatch应用&源码分析

摘要:CountDownLatch是JUC包下的并发计数器工具,用于并行任务协同。主线程通过await()等待计数器归零,子任务完成时调用countDown()减1。源码分析显示其基于AQS实现,state存储计数值,await()阻塞线程至state=0,countDown()CAS减state并在归零时唤醒阻塞线程。适用于多任务并行处理并需全部完成的场景,如文中的三任务并行示例。还介绍了超时等待和中断处理机制。

2025-06-08 14:49:56 934

原创 深入了解NIO的优化实现原理

网络通信中,最底层的就是内核中的网络 I/O 模型了。随着技术的发展,操作系统内核的网络模型衍生出了五种 I/O 模型,《UNIX 网络编程》一书将这五种 I/O 模型分为阻塞式 I/O、非阻塞式 I/O、I/O 复用、信号驱动式 I/O 和异步 I/O。每一种 I/O 模型的出现,都 是基于前一种 I/O 模型的优化升级。

2025-06-08 14:35:13 634

原创 CDN:静态资源如何加速?

CDN(Content Delivery Network/Content Distribution Network,内容分发网络)。简单来说,CDN 就是将静态的资源分发到,位于多个地理位置机房中的服务器上,因此它能很好地解决数据就近访问的问题,也就加快了静态资源的访问速度。在大中型公司里面,CDN 的应用非常的普遍,大公司为了提供更稳定的 CDN 服务会选择自建 CDN,而大部分公司基于成本的考虑还是会选择专业的 CDN 厂商,网宿、阿里云、

2025-06-06 23:04:09 1147

原创 配置管理:成千上万的配置项要如何管理?

配置管理的主要方式包括文件管理和配置中心管理。在Linux系统中,可通过配置文件或sysctl命令动态调整配置。应用开发中,初期常将配置与代码耦合,后期独立为配置文件(如properties、xml、yaml格式),但仍需重启生效。配置中心(如Apollo、Disconf)通过存储和推送机制实现动态更新,避免重启。关键设计包括:选择合适的存储组件(MySQL、ZooKeeper等)、变更推送机制(轮询或长连)、以及高可用方案(客户端两级缓存)。配置中心的高可用性尤为重要,可通过内存和文件缓存实现灾备,确保服

2025-06-06 22:56:22 624

原创 什么是I/O多路复用?

I/O多路复用技术让程序能用单线程高效管理多个I/O流,避免多线程开销。其工作原理类似同时监控多个炉灶:通过集中轮询机制(如select/poll)或事件通知机制(如epoll/kqueue)实时检测各I/O状态,实现单线程并发处理。典型实现包括跨平台的select/poll函数,以及系统专用的epoll(Linux)和kqueue(BSD/Mac),它们都能显著提升程序吞吐量和响应速度。这种技术尤其适合高并发网络应用场景。

2025-06-01 20:55:05 161

原创 在Java中,NIO(New I/O)与传统的I/O模型有什么不同?NIO中的核心组件有哪些?

Java NIO与传统I/O的主要区别在于阻塞机制:传统I/O是阻塞式的,需等待当前操作完成才能继续;而NIO是非阻塞式的,可以同时处理多个I/O操作。NIO的核心组件包括通道(数据传输管道)、缓冲区(数据容器)、选择器(多通道状态监控器)和通道适配器(不同类型I/O接口连接器),这些组件共同提升了I/O处理效率,避免了单线程阻塞问题。NIO模型类似自助餐厅的多任务处理方式,比传统I/O的单线程等待模式更高效。

2025-06-01 20:52:36 215

原创 TCP粘包和拆包问题是如何产生的,以及如何在网络编程中处理这些问题

文章摘要: TCP粘包和拆包是网络编程中的常见问题。粘包指多条消息被合并发送,接收方难以区分;拆包指单条消息被分割发送,接收方难以重组。解决方法包括:添加消息边界标识、使用固定长度消息或在应用层采用JSON/XML等协议处理粘包;通过消息长度标识或固定长度格式避免拆包。这些方法能有效保证TCP传输的准确性和完整性。

2025-06-01 20:50:36 291

原创 电商产品详情接口并发编排提升性能

本文介绍了使用Java的CompletableFuture实现电商系统产品详情接口的并发编排优化。通过异步调用产品基本信息、库存、定价和评论等多个服务,显著提升接口响应性能。文章详细展示了项目结构设计,包括Controller层、Service层和各服务类的实现,重点解析了CompletableFuture.allOf方法用于并发任务编排,以及thenApply进行结果合并的关键技术。这种非阻塞的异步设计不仅提高了系统性能,还保持了代码的模块化和可扩展性,为类似场景的接口优化提供了实用参考方案。

2025-06-01 14:25:09 933

原创 MySQL中的锁

摘要: MySQL InnoDB引擎通过多种锁机制解决并发事务问题,包括共享锁(S锁)和排他锁(X锁)等行级锁,以及表级锁和意向锁。锁的类型根据操作需求选择,读操作可使用MVCC避免阻塞,写操作需加锁保证数据一致性。InnoDB还支持间隙锁(Gap锁)防止幻读。死锁发生在多个事务互相等待资源时,MySQL能自动检测并解除。锁的粒度影响并发性能,行锁比表锁更细粒度但开销更大。实际应用中需平衡锁的并发控制与系统性能。

2025-06-01 11:22:15 1035

原创 Tomcat优化篇

reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下 class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。你可以简单地理解为,Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。nio:new I/O,同步非阻塞的I/O操作,比传统的bio有更好的并发运行性能。

2025-06-01 11:19:25 1348

原创 Https

摘要:HTTPS已成为现代互联网安全的重要标准,本课程将从原理到实战讲解HTTPS技术。内容包括:通过OpenSSL工具生成服务器证书和自建CA机构进行签名,详细介绍在Windows和Linux系统中安装配置OpenSSL的步骤,以及如何创建私钥、待签名证书和根证书。最后讲解如何将生成的证书配置到Nginx服务器,实现HTTPS安全连接。课程旨在帮助学员掌握企业级HTTPS应用技术,提升网站数据传输安全性。

2025-06-01 09:40:12 1005

原创 内存模型以及如何判定对象已死问题

本文介绍了Java内存管理相关内容,主要包括: 使用VisualVM的VisualGC插件监控JVM内存; 演示三种内存溢出情况:堆内存溢出(OOM)、方法区溢出(Metaspace)和栈溢出(StackOverflow); 四种引用类型(强引用、软引用、弱引用、虚引用)的区别及代码示例; 对象生命周期和垃圾回收机制,包括可达性分析和GC Roots概念; finalize方法的作用和局限性。 文章通过具体代码演示了各种内存异常场景,并分析了垃圾回收的判断标准和工作原理,帮助理解JVM内存管理机制。

2025-06-01 09:24:21 1174

原创 Java并发编程

本文系统地介绍了Java并发编程的核心知识,涵盖了线程基础、并发特性、锁机制和阻塞队列四大模块。 线程基础部分首先讲解了进程与线程的区别,线程是CPU调度的基本单位。接着详述了多线程的优缺点,包括提升CPU利用率但可能带来线程安全问题。还介绍了线程状态转换、创建线程的三种方式(继承Thread、实现Runnable、实现Callable)以及线程的常用方法。 并发编程三大特性部分深入解析了: 原子性:通过synchronized、CAS、Lock和ThreadLocal四种方式保证 可见性:使用volati

2025-06-01 09:22:36 921

原创 Spring的事务机制

Spring事务机制基于数据库事务和AOP实现,通过代理对象处理@Transactional注解方法,控制事务的创建、提交与回滚。事务隔离级别对应数据库设置,传播机制则通过多数据库连接实现。失效场景包括:非代理对象调用方法或将方法设为private(cglib无法代理)。事务的核心在于修改连接autocommit属性,由AOP在方法执行前后管理事务状态。

2025-05-27 21:33:41 308

原创 作为程序员,你应该有产品意识

产品意识是站在产品角度思考问题的思维方式,包含用户意识、数据意识和商业意识。用户意识要求挖掘真实需求,提升用户体验;数据意识强调通过数据分析验证决策;商业意识关注产品价值。程序员培养产品意识需要转变思维习惯:从技术实现转向用户体验,从功能开发转向价值创造。具备产品意识能提升模块体验、优化技术方案、改善协作效率,为产品和自身带来更大价值。关键在于解放思想、改变习惯并付诸实践,在技术思维基础上融合产品视角。

2025-05-27 21:26:34 386

原创 为什么要使用线程池

摘要:Java线程创建成本高昂,涉及内存分配和系统调用,频繁创建销毁线程效率低下。线程池通过复用线程提升性能,并管理线程统计信息实现高效任务调度。推荐阅读业务幂等性技术架构相关内容。

2025-05-24 16:46:43 243

原创 如何用事件风暴构建领域模型?

本文介绍了通过事件风暴进行领域建模的方法,以用户中台为例,重点阐述了产品愿景和业务场景分析两个关键阶段。产品愿景阶段需要明确产品定位、目标用户和核心价值,通过团队讨论达成一致;业务场景分析则需从用户视角出发,梳理典型业务流程(如系统岗位设置、用户权限配置、登录校验等),识别领域对象。该方法强调跨职能团队参与,确保业务需求与系统设计的有效对接。

2025-05-24 16:39:53 294

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

内容概要:本文详细介绍了蚂蚁金服从构建数据底座的角度出发,搭建了一套能够应对大规模金融数据处理的基础设施架构和技术体系。该文中涵盖多个方面内容:一是通过具体事例阐述了智能理财、智能营销、智能保险、智能客服等金融科技实际落地的应用案例;二是深入剖析了蚂蚁集团内部如何通过构建高效的金融视觉平台、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

加州政府企业架构框架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

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

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

2024-09-24

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

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

2024-09-17

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

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

2024-09-17

空空如也

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

TA关注的人

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