分类
技术
共 69 篇 · 第 6 / 7 页
Dify架构
Dify 包括 3 个业务服务组件 api / worker / web (Frontend),以及 6 个基础组件 vector db / db / redis / nginx / ssrf proxy / sandbox。 dify-web: 只用来返回前端页面,负载比较小…
Dify如何对接OpenAI-API-compatible协议模型
如何添加自定义模型 打开设置 在模型供应商中找到OpenAI-API-compatible,并点击设置 添加模型 参数说明 模型类型 可选参数分别是LLM、Text Embedding、Speech2text、Rerank、TTS LLM:文本生成模型 LLM:对话模型 Text…
代码分析工具对比:jQAssistant和Spoon的特点和应用场景
jQAssistant jQAssistant是一个用于代码分析和质量管理的工具。它主要是基于Neo4j图数据库来存储和分析代码结构。特别适合复杂的代码依赖分析。 jQAssistant在于它能够通过图数据库提供强大的查询和可视化能力。这对于大型项目的结构分析和依赖管理可能特别有…
记一次OOM问题排查过程
问题现象 从监控系统中发现系统节点状态异常,从后台的日志中查看日志如下 OOM原因 A服务的接口 /plan/module 查询条件设置错误,导致查询出了数据库将近10w的订单数据,进而导致内存耗尽。在一次回收垃圾中 解决方案 修正逻辑错误,每次仅查一条订单数据 在查询服务中限制…
多module下Maven打包异常
问题现象 在A服务的打包过程中出现以下错误: 根本原因 从错误信息来看,是由于无法在maven仓库中找到文件 http://0.0.0.0:8081/repository/maven-public/com/tem/tem-cbp/$%7Brevision%7D/tem-cbp-$…
设计模式之门面模式
意图 解决多个对象直接用起来比较复杂的问题 如何解决这个问题 通过一个高层对象来组合子系统的系统 这样做的优势是什么 过去,客户端需要深入了解子系统的各种方法和类,耗费了大量精力。现在,有了这个门面类,客户端只需了解门面类的使用方式,大大降低了理解成本。 举个例子 设想一个家庭影…
在多服务中使用枚举兼容性的思考
在RPC(远程过程调用)系统中,采用枚举类型的运用,固然增进了代码的可读性和可维护性,然然而在多服务环境中,对枚举类型的更新和兼容性调整可能带来一些问题。 一处线上异常 A在调用B服务的dubbo接口时,由于B服务中新增了OriginType枚举类型,名为ztrip,而A服务未及…
CQRS架构模式
CQRS(Command Query Responsibility Segregation)是什么? CQRS代表Command Query Responsibility Segregation,是软件开发中的一种架构模式,明确地将处理命令操作(修改数据)与查询操作(检索数据)分…
排查一次某字段数据丢失的经历
本文将通过一个具体的问题解决案例,展示如何识别、分析问题,并解决问题。案例涉及两个服务:服务A和服务B,其中服务A向服务B传递一个包含三个字段(a、b、c)的对象。问题在于,尽管在服务A中字段c有值,到了服务B时,该字段却显示为空。 问题的识别 问题的发现通常开始于异常行为的观察…
Git使用多个SSH密钥访问不同服务器
要配置 Git 以使用不同的 SSH 密钥访问不同的服务器(如 GitHub 和 GitLab),你可以通过 SSH 配置文件来指定每个服务器使用的密钥。这样做可以帮助你管理多个 SSH 密钥,并确保每次连接到特定的服务器时都使用正确的密钥。 步骤 1: 生成 SSH 密钥(如果…