- 博客(102)
- 资源 (38)
- 收藏
- 关注
原创 分布式基石:CAP定理与ACID的取舍艺术
本文深入探讨分布式系统的CAP定理及其应用。CAP定理指出,分布式系统无法同时满足一致性、可用性和分区容错性,必须根据业务需求进行权衡:CP(一致性优先)适用于银行转账等场景,AP(可用性优先)适合商品详情等容忍短暂不一致的场景。文章还对比了ACID与BASE理论,强调互联网场景下最终一致性的重要性。实践建议核心链路保持强一致,非核心功能通过消息队列实现最终一致。架构设计应根据业务特点在CAP之间合理取舍。
2025-11-24 09:55:55
384
原创 探源分布式:从单体到星辰大海的演进之路
摘要:本文探讨了软件架构从单体向分布式系统的演进趋势。首先分析单体架构的优势(开发简单、部署便捷)与局限性(资源瓶颈、可靠性差),进而阐述分布式系统的核心价值(弹性扩展、独立部署)及其复杂性挑战(网络延迟、事务管理)。通过电商案例展示服务拆分的实际路径,强调架构决策应基于业务需求与团队能力平衡。文章指出,分布式系统虽能解决高并发、高可用问题,但需配套完善的服务治理体系,未来将向云原生和智能化方向发展。
2025-11-22 00:00:00
1347
原创 实战总结:BACnet/IP 跨网段通讯的两种解决方案(BBMD 与 Foreign Device)
摘要:本文针对楼宇自控项目中BACnet/IP协议跨VLAN通信问题,以5层酒店项目为例,对比分析了两种解决方案。项目因各楼层独立VLAN划分导致BACnet广播失效,通过BBMD(标准路由)和ForeignDevice(外部设备注册)两种方式实现跨网段设备发现。详细阐述了两种方案的原理、网络拓扑、配置要点及适用场景,推荐中小型项目采用成本更低的ForeignDevice方案,并提供了端口开放、IP固定等关键实施建议,为楼宇自控系统在复杂网络环境下的部署提供了实用指导。
2025-11-21 17:49:15
716
原创 氛围编程:AI时代软件开发的范式革命
2025年,柯林斯词典将"氛围编程"(Vibe Coding)评为年度词汇,这标志着AI辅助编程已经发展成为一种普遍文化现象。氛围编程是一种由大型语言模型驱动的新型开发方式,开发者仅需用自然语言描述需求,AI即可生成可运行代码。其核心流程包括提出目标、AI生成代码、运行验证和反馈调整的循环迭代。与传统AI辅助编程不同,氛围编程强调结果导向而非代码细节控制。虽然能显著提升开发效率,但也伴随代码质量不可控、安全隐患等风险。专家建议将其用于原型开发等场景,同时对生产代码保持谨慎。氛围编程代表了
2025-11-20 09:30:42
649
原创 物联网平台产品业务架构构建指南:从战略到实现的完整框架
本文系统阐述了物联网平台业务架构的设计与实践。在数字化转型背景下,物联网平台需平衡标准化与定制化,构建涵盖战略定位、业务模式和核心能力的四层架构。通过明确市场定位、设计分层盈利模式和生态合作机制,平台可有效管理设备接入、数据服务和运营支撑。关键挑战包括技术标准碎片化、商业模式验证和生态建设周期长等,需采取MVP策略、设备认证体系和开发者支持等应对措施。成功的业务架构应具备战略清晰性、能力完整性和生态开放性,成为平台在市场竞争中的核心优势。
2025-11-18 04:00:00
1118
原创 业务架构 vs 产品架构:本质区别与协同关系
业务架构与产品架构是企业数字化转型中的两大关键架构,具有本质区别。业务架构从企业战略视角出发,关注整体业务价值链和长期规划,核心是业务能力地图与流程优化;产品架构则聚焦具体产品实现,强调功能模块设计和技术解决方案。两者在视角定位、时间跨度、衡量标准等九大维度存在显著差异。正确理解二者的互补关系,建立分层治理体系和敏捷协同机制,才能实现战略方向与高效执行的统一,最终完成业务价值的高效交付。
2025-11-18 00:15:00
916
原创 业务架构绘制实战指南:从价值链到能力地图的完整方法
本文从实战角度系统介绍了业务架构绘制的方法与技巧,阐述了其对产品经理、架构师和开发人员的核心价值。详细解析了业务架构的四个层次(战略层、能力层、流程层、操作层)及其绘制方法,提供了具体的实操步骤和工具建议。针对常见问题给出解决方案,并以电商平台为例展示最佳实践。文章强调业务架构应作为持续演进机制,提出了架构治理流程和度量指标,指出成功的三个关键要素:业务驱动、迭代演进和跨角色协作。通过系统化的业务架构实践,可建立清晰的业务-IT对齐机制,助力企业数字化转型。
2025-11-17 09:27:38
886
原创 工业自动化技术体系与发展趋势:从传统控制到智能制造
工业自动化技术正在经历数字化、网络化、智能化的深刻变革。人机协作:人类智慧与机器智能深度融合绿色制造:能耗优化与环境友好柔性生产:快速响应市场变化全生命周期管理:从设计到退役的全程优化«温馨提示:企业在推进自动化升级时,需要结合自身实际情况,制定切实可行的实施路径,避免盲目追求技术先进性而忽视实际效益。»版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
2025-11-17 00:04:44
1147
原创 企业架构:数字化转型时代业务与IT的战略连接器
企业架构不再是IT部门的专属工具,而是数字化转型的战略核心。在数字化浪潮中,企业需要将架构思维提升到战略高度,通过业务、数据、应用、技术四层架构的协同设计,构建弹性、敏捷、智能的数字化底座。正如一位资深架构师所言:“好的企业架构就像城市的规划图,它不会限制建筑师的创造力,而是确保城市发展有序而美丽。”在数字化转型的征程中,企业架构正是这样一张确保业务与IT和谐发展的蓝图。
2025-11-16 23:30:12
882
原创 搞定产品需求到技术文档的“翻译”:写出让团队疯狂点赞的技术文档
如何将产品需求转化为高质量技术文档?本文介绍了三阶段方法:1.技术架构设计(理解需求、确定系统边界和核心模块);2.模块设计(拆解系统、明确功能分工);3.详细设计(数据库、接口等具体实现方案)。这三个步骤能帮助开发团队将抽象需求转为清晰可执行的技术文档,提升开发效率和协作质量。作者还邀请读者分享经验,并考虑后续推出详细专栏。
2025-09-03 16:38:22
468
原创 分布式事务的炼狱:Spring Cloud 微服务架构下的数据一致性保障战
微服务架构下的分布式事务挑战与解决方案 摘要:在微服务架构中,业务操作往往跨越多个独立服务,传统数据库事务机制难以保证数据一致性。本文分析了分布式事务面临的困境,包括跨服务调用的事务边界问题、CAP理论的权衡挑战等。介绍了四种主流解决方案:2PC(两阶段提交)、TCC(Try-Confirm-Cancel)、Saga模式和基于消息的最终一致性,详细阐述其原理及优缺点。最后探讨了Spring Cloud生态下使用Seata框架实现分布式事务的实践方案,包括AT模式的无侵入式实现方式。这些方案为微服务架构下保证
2025-06-11 18:23:52
1236
原创 搞定分布式锁:Spring Cloud 微服务高并发下的“定海神针”
在构建高并发、高可用的分布式系统时,数据一致性是开发者面临的核心挑战之一。传统的单体应用中,我们依赖本地锁(如Java的synchronized或ReentrantLock)来保证多线程对共享资源的并发访问安全。然而,在服务被拆分并部署到多台机器上的分布式微服务架构中,本地锁显然“鞭长莫及”。此时,分布式锁应运而生,它提供了一种跨进程、跨机器的协调机制,确保在分布式环境下,任何时刻只有一个服务实例能独占某个共享资源或执行某段关键业务逻辑,从而有效避免数据不一致、业务错误等问题
2025-06-10 11:13:55
945
原创 软件开发详细设计文档
本文介绍了软件研发中详细设计文档的重要性及模板框架。详细设计文档是开发过程中的关键文档,直接影响开发效率和代码质量。文档在概要设计基础上细化模块设计,包含需求分析、总体设计和详细设计三大部分。核心内容包括功能描述、系统结构、输入输出数据、算法流程、数据结构、接口设计等模块化设计要素,并涵盖非功能性需求考虑。该模板源自实际敏捷团队经验,支持在线文档管理,为开发、测试及评审人员提供标准化参考框架,确保设计思路清晰可执行。附录部分可补充相关技术细节和扩展内容。
2025-05-26 13:49:13
695
原创 MCP的推出将给未来的开发带来哪些变革?
* MCP(Model Context Protocol,模型上下文协议)** 是 AI 智能体开发中的一项关键技术,旨在为 AI 模型与外部工具、数据和服务提供标准化的交互接口。它由 Anthropic 在 2024 年 11 月推出,并迅速获得 OpenAI、百度等科技巨头的支持~说人话,基于他这个协议可以将原来的智能体分为,调大模型写的客户端和调各种工具的工具应用,从而最大程度的复用工具能力,简化智能体的开发,我将其理解为智能体的分布式架构。网关和业务微服务的关系。MCP整体架构。
2025-04-18 15:26:18
530
原创 MCP、A2A、Function Calling:AI架构设计的三驾马车
在AI技术快速发展的今天,MCP、A2A和Function Calling这三种架构设计和技术标准为我们提供了不同的视角和解决方案。它们各自具有独特的优点和应用场景,同时也存在一定的局限性。通过深入理解它们之间的关系和特点,我们可以更好地选择适合的技术方案,推动AI应用的开发和落地。未来,随着技术的不断融合和创新,AI将具备更强的协作能力和更广泛的应用范围,为我们的生活和工作带来更多的便利和价值。
2025-04-17 16:05:17
1084
原创 Linux本地安装N8N,一路解决各种问题
本笔记记录本地安装N8N 的过程,有遇到一些小问题,在此记录首先检查服务器的Docker版本docker - v本地运行镜像拉取和运行命令检查是否运行成功从如上效果来看, 已经安装成功,接下来直接访问即可,如果是http://localhost:5678/;默认应该出现如下效果(初始的页面忘记截图,应该根据系统初始化参与信息调研,然后申请一个免费的KEY,激活后就可以看到如下界面)要其他电脑访问,需要通过IP地址+端口访问,并且需要开启HTTPS,要么就禁用HTTPS。
2025-04-15 15:05:09
5213
原创 扩展知识1: LangChain中动态生成服务实现的工作原理
动态生成服务实现的基础是接口和注解的定义。开发者首先定义一个接口,接口中的每个方法都通过注解来描述其功能和行为。接口:定义了服务的契约,即可以被调用的方法。注解:提供了方法的具体行为描述,例如用户消息模板(@UserMessage)或系统消息(@SystemMessage)。动态生成服务实现是LangChain4j框架的核心功能,它通过接口和注解定义服务契约,动态创建代理对象来实现接口方法。这种机制使得开发者无需手动实现具体逻辑,而是由框架根据注解信息动态生成实现。
2025-02-28 06:30:00
789
原创 第9章:LangChain结构化输出-示例6(设置系统消息和用户消息模版)
定义了一个接口TextUtils,用于封装文本处理功能。translate(String text, String language):将文本翻译为目标语言。summarize(String text, int n):将文本总结为n个要点。解析方法定义:每个方法都通过@UserMessage注解定义了用户消息模板,{{text}}和{{language}}会被替换为方法参数。这使得AI能够理解用户的意图,并生成相应的响应。系统消息。
2025-02-25 06:30:00
908
原创 Elasticsearch索引设计与分片策略深度优化-手记
某社交平台因未关闭动态映射,用户输入的特殊符号导致字段爆炸式增长,最终引发集群元数据内存溢出。生产环境必须设置dynamic: strict通过ingest pipeline进行字段清洗和类型校验。
2025-02-24 14:57:51
560
原创 第9章:LangChain结构化输出-示例5(基于大模型如何精确匹配POJO的字段)
定义了一个接口RecipeExtractor,用于封装从文本中提取并构造Recipe对象的功能。接口中包含一个方法,用于从文本中提取Recipe对象。解析方法定义:extractRecipeFrom(String text)方法用于从文本中提取Recipe对象。注解使用:@UserMessage注解定义了用户消息模板,{{it}}会被替换为方法参数(即要提取信息的文本)。这使得AI能够理解用户的意图,并生成相应的响应。定义了一个Recipe类,用于表示提取的POJO对象。
2025-02-24 06:30:00
1321
原创 第9章:LangChain结构化输出-示例4(基于大模型从自然语言中提取POJO)
POJO提取服务通过定义一个接口PersonExtractor来封装POJO提取功能。接口中包含一个方法,用于从文本中提取并构造Person对象。解析方法定义:extractPersonFrom(String text)方法用于从文本中提取Person对象。注解使用:@UserMessage注解定义了用户消息模板,{{it}}会被替换为方法参数(即要提取信息的文本)。这使得AI能够理解用户的意图,并生成相应的响应。定义了一个Person类,用于表示提取的POJO对象。
2025-02-23 21:10:10
935
原创 第9章:LangChain结构化输出-示例3(日期和时间提取服务)
LangChain借助大模型从自然语言中提取日期和时间,日期和时间提取服务通过定义一个接口DateTimeExtractor来封装日期和时间提取功能。extractDateFrom(String text):从文本中提取日期(LocalDate)。extractTimeFrom(String text):从文本中提取时间(LocalTime)。extractDateTimeFrom(String text):从文本中提取日期和时间(LocalDateTime)。解析方法定义。
2025-02-23 20:39:00
918
原创 第9章:LangChain结构化输出-示例1(情感分析AI服务)
LangChain结构化输出,情感分析服务通过定义一个接口SentimentAnalyzer来封装情感分析功能。:分析文本的情感倾向,并返回一个Sentiment枚举值(POSITIVE、NEUTRAL、NEGATIVE)。:判断文本是否具有正面情感,并返回一个布尔值。")情感分析服务(SentimentAnalyzer)通过定义接口、使用注解和动态生成服务实现,展示了LangChain4j框架的强大功能。这种实现方式不仅简化了开发流程,还提高了代码的可维护性和可扩展性。
2025-02-23 20:05:51
1211
原创 第9章:LangChain结构化输出-示例2(数字提取服务)
LangChain结构化输出,关键内容提取;数字提取服务通过定义一个接口NumberExtractor来封装数字提取功能。extractInt(String text):从文本中提取整数(int)。extractLong(String text):从文本中提取长整数(long)。extractBigInteger(String text):从文本中提取大整数(BigInteger)。extractFloat(String text):从文本中提取浮点数(float)。
2025-02-23 20:02:31
1036
原创 第9章:LangChain让大模型结构化输出
文章详细介绍了LangChain4j中如何使用结构化输出(Structured Outputs)。文章还详细介绍了如何在低级ChatLanguageModel API和高级AI服务API中使用JSON Schema,以及如何通过@Description注解提供更详细的指令。此外,还列举了使用JSON Schema时的限制和注意事项。这种结构化输出功能使得LLM生成的输出可以更方便地被应用程序解析和使用。
2025-02-23 13:42:18
1194
原创 第8章:LangChain检索增强生成RAG--2.4Advanced RAG【高级RAG】
高级 RAG(Advanced RAG)通过多个模块化组件(如查询转换器、查询路由器、内容检索器、内容聚合器和内容注入器)来增强检索功能。这种实现方式提供了高度的灵活性和定制化能力,适用于需要复杂检索逻辑的场景。通过合理配置这些组件,开发者可以构建高效、智能的问答系统。
2025-02-21 19:58:17
1082
原创 第8章:LangChain检索增强生成RAG--2.3Naive RAG
Naive RAG 是一种简单但有效的 RAG 实现,适用于需要快速启用 RAG 功能的场景。通过配置 EmbeddingStoreContentRetriever 和 AiServices,可以轻松地将文档内容检索功能集成到 AI 服务中。这种方法虽然简单,但在许多场景下已经足够有效,尤其是在需要快速原型开发和概念验证时。
2025-02-21 19:22:45
521
原创 第8章:LangChain检索增强生成RAG--2.2Core RAG APIs
功能:对文档进行总结,并将总结存储在元数据中。目的提高效率:通过总结,语言模型可以更快地理解文档的核心内容。改善搜索:总结可以被包含在每个 TextSegment 中,从而提高搜索的准确性。示例由于没有一种通用的解决方案,LangChain4j 建议开发者根据自己的数据特点实现自己的 DocumentTransformer。建议自定义逻辑:根据你的数据格式和需求,实现特定的转换逻辑。灵活性:自定义转换器可以更好地适应你的应用场景。示例@Override// 自定义转换逻辑。
2025-02-21 19:15:31
806
原创 第8章:LangChain检索增强生成RAG--2.1Easy RAG实现
Easy RAG 是 LangChain4j 提供的一个简化版的检索增强生成(RAG)功能,旨在帮助开发者快速上手并使用 RAG 技术核心功能简化文档处理:Easy RAG 支持多种文档格式(如 txt、csv、pdf、md、doc、docx 等),并自动将文档内容转换为嵌入向量,存储在嵌入存储(向量数据库)中。提供了从文件系统加载文档的功能,支持单个文件或整个目录的加载。自动嵌入与存储:使用默认的嵌入模型(如 bge-small-en-v1.5)将文档片段转换为嵌入向量,并存储在内存向量数据库(
2025-02-21 13:59:56
1268
原创 第8章:LangChain检索增强生成RAG--1概述
本章主要介绍基于 LangChain4j 中的 RAG(Retrieval-Augmented Generation,检索增强生成)概念及其实现方式。RAG 是一种通过检索相关知识来增强语言模型生成能力的技术,特别适用于需要结合特定领域知识或私有数据的场景。
2025-02-21 13:25:32
622
原创 第7章:在LangChain中如何调用函数Tools (Function Calling)
这篇文章详细介绍了LangChain4j中工具(Tools)的概念和使用方法。工具允许LLM在生成文本的同时,触发外部操作(如调用API、执行代码等)。工具的基本概念:工具是LLM可以调用的外部功能,用于增强其能力(如数学计算、网络搜索等)。工具的声明和使用:通过ToolSpecification和@Tool注解,开发者可以定义工具并将其集成到LLM的交互中。工具的执行和反馈:LLM可以在响应中表达调用工具的意图,开发者需要执行工具并将结果反馈给LLM。高级抽象。
2025-02-20 21:46:33
1808
原创 第6章:基于LangChain如何开发Agents,附带客户支持智能体示例
大多数基本的“代理”功能可以通过高层次的 AI Service 和 Tool APIs 构建。ChatLanguageModel(聊天语言模型)ToolSpecification(工具规范)ChatMemory(聊天记忆)本文简要介绍了 LangChain4j 中的“代理”概念,并提供了构建代理的两种方法:使用高层次的 AI Service 和 Tool APIs,或者使用低层次的 ChatLanguageModel、ToolSpecification 和 ChatMemory API。
2025-02-20 21:14:29
1320
原创 第4章:在LangChain中如何实现响应式流(Response Streaming)
对于ChatLanguageModel和LanguageModel接口,LangChain4j提供了对应的StreamingChatLanguageModel和StreamingLanguageModel接口。这些接口的API类似,但支持流式传输响应。它们接受一个实现了StreamingResponseHandler接口的对象作为参数。// 当生成下一个token时调用default void onComplete(Response<T> response) {} // 当LLM完成生成时调用。
2025-02-20 20:22:43
1617
原创 第5章:在LangChain中如何使用AI Services
这篇文章详细介绍了 LangChain4j 中的 AI Services 概念,展示了如何通过高层次的抽象来简化与大语言模型(LLM)的交互。AI Services 的核心思想是隐藏底层复杂性,让开发者专注于业务逻辑,同时支持聊天记忆、工具调用和 RAG 等高级功能。通过示例和代码片段,文章展示了如何定义和使用 AI Services,以及如何将它们组合起来构建复杂的 LLM 驱动的应用程
2025-02-20 20:07:13
1396
原创 第3章:在LangChain中如何设置模型参数
这篇文章详细介绍了如何在LangChain4j中配置和调整模型参数,以优化模型的输出和性能。模型参数的作用:如何通过调整参数来控制模型的输出(如创造力、确定性、生成内容的量)以及连接性(如API密钥、超时时间等)。参数设置方式:通过静态工厂或构建器模式创建模型,并为每个参数指定值。在Quarkus和Spring Boot中的配置。
2025-02-20 17:08:38
1340
原创 第2章:如何基于LangChain4j实现聊天记忆
文章详细介绍了LangChain4j中的ChatMemory功能,包括如何管理和维护聊天消息、如何实现驱逐策略、如何进行持久化存储,以及对SystemMessage的特殊处理。ChatMemory是构建聊天应用时管理对话状态的重要工具,通过合理使用驱逐策略和持久化功能,可以优化性能、降低成本,并实现更复杂的对话逻辑。
2025-02-20 16:32:19
1871
原创 第1章:LangChain4j的聊天与语言模型
本文主要介绍了LangChain4j中与语言模型和聊天模型相关的API。强调了ChatLanguageModel的重要性,并详细解释了如何通过ChatMessage管理多轮对话、支持多模态输入,以及如何利用Kotlin扩展进行异步处理。这些功能使得LangChain4j在构建聊天应用时更加灵活和强大。这是LangChain开发智能体的系列文档,欢迎连读第1章:LangChain4j的聊天与语言模型第2章:如何基于LangChain4j实现聊天记忆第3章:在LangChain中如何设置模型参数。
2025-02-20 16:25:30
1262
原创 软件开发过程中系统架构设计文档一般可以怎么写
系统架构设计文档是一个非常重要的文档,它描述了一个软件系统的整体结构和组成部分,包括各个模块、组件和它们之间的交互关系。架构图:通过图表形式展示系统的整体架构,包括系统的主要组件、模块、层次结构和它们之间的依赖关系。安全性设计:描述系统的安全性需求,以及如何保障系统的安全性,包括用户认证、访问控制、数据加密和安全审计等。技术选型:描述在系统开发中所选用的技术、框架和工具,并阐述为什么选择这些技术,以及它们在系统中的作用。概述:简要介绍系统的目的、范围和主要功能,以及与系统交互的用户和其他系统。
2023-03-22 22:37:40
5131
原创 什么是需求建模|概述
需求建模是软件建模最为重要的工作。需求模型描述软件的外部特性,包括软件能够给用户提供的功能和性能,分析模型、设计模型和测试模型均建立在需求模型的基础上。需求模型包括用例模型和非功能模型两个方面的内容;本章主要从软件需求、需求分析、软件需求建模、需求模型等概念进行阐述,同时简要阐述软件需求建模所需要遵循的一些原则。
2022-03-14 16:44:11
14056
4
J2EE的13种核心技术.doc
2010-05-05
构建敏捷银行-平安银行信用卡中心转型案例
2019-04-08
信息系统项目管理师教程pdf高清版
2015-07-27
flash上传头像预览裁剪
2013-07-05
5个Why分析法
2019-04-08
activiti-designer-5.18.0 2.zip
2020-04-06
DHTML参考手册(CHM)版本
2013-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅