- 博客(15)
- 收藏
- 关注
原创 Google File System设计思路
假设是一切设计的前提,将场景进行限定。提供了与常规文件系统类似的接口(并没有实现标准体系的API,e.g.POSIX)。文件在目录中分层管理,由路径名标示。接口设计:create, delete, open, close, read, write, snapshot, record append。GFS是分布式框架,从整体上看是C/S架构,从服务端看是M-S架构。服务器集群由单一的master和多个chunkserver组成,基于linux操作系统之上设计,并不是基于裸设备。单主设计极大的简化了整体设计的复
2025-05-15 15:10:53
619
原创 服务化架构思考
在软件设计领域,企业架构通常被划分为如下五种分类:如何理解架构分类依据及其彼此之间的关系?业务是企业赖以生存之本,因此业务架构是基础、是灵魂,其他一切均是对业务架构的支撑;根据业务架构形成与之相应的产品架构和数据架构;最后通过技术架构落地实施。应用架构用于对产品架构进行细分,通过应用集成形成产品。但是应用架构区别于产品架构的本质不应该只在粒度,更重要的是产品直接承接业务,按照业务问题域进行划分;而应用需要考虑通用能力沉淀和复用,为多个产品提供统一支撑。业务架构。
2025-05-15 14:47:46
769
原创 Redis优化实践思考
redis内存使用优化有两个方向:应用 & 运维。以redis为中心 - 应用是用户使用视角,运维是服务自身视角。应用层面的优化功夫要做在日常,需要对应用本身有清晰的认知的基础上充分结合redis自身特性。数据结构设计、时间换空间(数据压缩)、合理的过期时间设计。运维层面的优化针对的是redis内存管理。
2025-05-14 17:24:18
451
原创 Redis框架剖析
必要性 - 【二进制安全】支持文本格式数据和二进制格式数据,其中文本格式下兼容C语言字符串设计规范;【O(1)时间复杂度方法支持】- 获取字符串长度命令、内存管理、字符串修改、网络传输等场景都需要使用【内存预分配和惰性删除】
2025-05-14 17:21:02
752
原创 慢SQL手册
以Java应用为例,JDBC就是驱动程序,JDK内置了对jdbc的接口抽象。驱动程序作为应用端的代理与MySQL服务器交互(创建连接、SQL请求)
2025-05-13 14:51:59
295
原创 深度剖析Java线程池模型
提供 ExecutorService 执行方法的默认实现。该类使用 newTaskFor 返回的 RunnableFuture 实现了 submit、invokeAny 和 invokeAll 方法,默认为本包中提供的 FutureTask 类。例如,submit(Runnable) 的实现创建了一个关联的 RunnableFuture,该 RunnableFuture 被执行并返回。子类可以覆盖 newTaskFor 方法以返回除 FutureTask 之外的 RunnableFuture 实现。
2025-05-12 11:03:28
692
原创 LangChain源码分析系列·回调(Callback)能力分析
本文是 LangChain 框架源码分析系列文章之一,以工程设计的能力视角切入分析当下最火的大模型应用开发框架。与大模型原理学习对比,学习 LangChain 框架需要做思维模式的转变,关注的重点从 Why 转为 What&How。什么是回调?回调是一个很常见的设计,每个研发同事对其都有自身的理解。作者本身理解回调设计是从 IO 模型的同步/异步调用方式入手。•同步调用- 调用端发出请求之后,线程(或协程等抽象)必须一直等待结果返回;•异步调用。
2025-05-09 11:17:04
661
原创 LangChain源码分析系列·流式(Stream)能力分析
本文是 LangChain 框架源码分析系列文章之一,以工程设计的能力视角切入分析当下最火的大模型应用开发框架。与大模型原理学习对比,学习 LangChain 框架需要做思维模式的转变,关注的重点从 Why 转为 What&How。阅读源码是一个相对枯燥的过程,并且穿插源码在其中一定程度上会影响文章的可读性;为此,结论先行 - LangChain 流式能力的基础是 Python 语言的生成器语法特性。本文作为一个框架源码分析系列文章的开篇,选择了个人感兴趣的架构设计模块作为切入点进行剖析。
2025-05-09 11:15:29
812
原创 CAP定理解析
背景CAP定理分布式系统架构领域的概念,理解这一定理,可以将场景范围限定为一个由多个节点组成的集群。假设当前集群只有A、B两个节点。概念Consitency: 一致性,分布式环境下,同一份数据会存在多个节点上,一致性要求不同节点上的相同数据必须是一样的。e.g. 任意时刻,用户从A、B的节点获取到的数据完全相同。 Availability: 可用性,分布式环境下,多个节点都可以对外提供服务,不会出现读、写不可用的场景。e.g.任意时刻,用户读A、B节点都能正常返回数据。 Partition
2021-03-11 15:09:12
383
原创 akka框架原理分析
前言akka框架是一个分布式高并发框架,基于actor模型开发,为想要使用actor模型的开发人员屏蔽了基本行为处理、actor生命周期管理、异常处理、网络通信等的细节,学习akka框架必须先了解actor模型。本文将简单介绍一下actor模型是什么,akka中actor实现的形式。1. 什么是Actor模型?局限点儿来回答这个问题比较容易理解,多线程(或进程,以下都用线程)并发...
2020-01-03 09:31:53
1357
转载 c++的前置声明
转自:http://blog.youkuaiyun.com/fjb2080/archive/2010/04/27/5533514.aspx 作者:清林,博客名:飞空静渡刚开始学习c++的人都会遇到这样的问题:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就成了这样: //a.h #inc
2014-08-30 09:40:38
212
原创 c++ foreach的使用
1、语法foreach(vector.begin(), vector.end(), function);其中function的调用:全局方法,直接写函数名非全局的方法,定义struct,struct内定义function,使用时写struct变量的实例。eg:①structTravGeoForRender {
2014-08-29 10:43:50
1736
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人