
框架相关
文章平均质量分 89
second60
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[优化]缓存分页和版本号
[优化]缓存分页和版本号1 背景当服务端返回给客户端的数据量比较大,而且大部份数据不经常修改。那么可以采取客户端缓存和版本号机制。 例如:游戏中,读取道具配置(脚本热更方式除外,有些配置或数据是不能热更的)。配置不存在客户端,而是通过调用接口,返回给客户端的方式。刚开始时,可能配置表中只有五十个道具,随着时间的变化,道具数据越来越多。返回的数据也会越来越多。假如最后增加到五百个,那原创 2018-01-31 19:57:10 · 950 阅读 · 1 评论 -
[框架]高并发中的惊群效应
高并发中的惊群效应second60 20180726目录高并发中的惊群效应1.惊群效应简介2. 操作系统的惊群3. 惊群的坏处3.1 坏处3.2 其他4 惊群的几种情况4.1 accept惊群(新版内核已解决)4.2 epoll惊群4.2.1 fork之前创建epollfd(新版内核已解决)4.2.2 fork之后创建epollfd(内核未解决)...原创 2018-07-27 18:06:01 · 26196 阅读 · 7 评论 -
源码分析-简洁的HTTPServer-tinyhttpd
源码分析-简洁的HTTPServersecond60 201806101. tinyhttpd 简介tinyhttpd 可以说是最小最精简的HTTP服务器,C语言编写,全部代码只有五百多行。通过阅读tinyhttpd源码可以了解HTTP服务器搭建的本质和HTTP基础。下载链接:http://sourceforge.net/projects/tinyhttpd/2. tinyhttpd 安装和使用...原创 2018-06-10 22:27:36 · 1509 阅读 · 0 评论 -
[源码分析] 性能压测工具-webbench
[源码分析] 性能压测工具-webbenchsecond60 201806091. webbench简介今天和大家介绍一个网站压测性能测试工具,名字叫webbench。 a) 可测试相同硬件,不同服务的性能及不同硬件上同一个服务的运行状况。b) 可以向我们展示服务器:每秒钟相应的请求数和每秒钟传输数据量。c) 可以模拟3万个并发连接去测试网站的负载能力。 同时,webbench的代码非常精简,源...原创 2018-06-09 23:27:23 · 351 阅读 · 0 评论 -
[源码分析]-轻量级JSON-cJson
[源码分析]-轻量级JSON-cJsonsecond60 201806121. cJSON简介cJson是个轻量级的C语言JSON库,速度快,而且代码少,只有两个文件:cJSON.h和cJSON.c。代码只有七百多行。 使用只需引入cJSON文件,一起编译即可,使用了数学库,要添加-lm库g++ test.c cJSON.c -o testgcc test.c cJSON.c -o test -l...原创 2018-06-12 17:12:25 · 1919 阅读 · 0 评论 -
系统设计的垂直拆分和分平拆分
系统设计的垂直拆分和分平拆分second60 201804201背景当一个系统/网站,刚开始的时候,所有的业务模块和数据都是放在一起的,只有小量的人来开发和维护;但当系统/网站不断丰富功能和业务的时候,系统将会变的越来越庞大,也会逐渐拆分成各个子系统来支撑,这此就需要把系统拆分,把原来强耦合的系统,拆分成弱耦合的多个子系统,数据表也因为数据量大,需要按业务垂直拆分和按大小来水平拆分。 2 系统的拆...原创 2018-04-20 15:34:12 · 2140 阅读 · 0 评论 -
框架设计的局部与整体
框架设计的局部与整体second60 201804171. 例子引出在框架设计中,很多总和分的问题需要处理,即局部与整体的问题。所以要有很好的扩展性。是框架设计中的重点之一。 举个例子1.1 初始需求 棋牌初始产品需求,玩家能获取自已的某个游戏GAME 1中的房间。游戏在单进程中。 最简单的设计 A程序设计了一个接口:get_user_game_room()这对单个进程是完全没有问题的,但并没...原创 2018-04-17 21:02:32 · 1165 阅读 · 0 评论 -
[框架]登陆服设计
[框架]登陆服设计second60 201804091. 背景提到登陆,离不开计费系统。计费系统,是除业务系统外,最重要的系统。计费系统最主要的两大部份为账户体系和交易体系两大块。 1.1 计费账户体系ID简介账户体系,包括:玩家的union ID(名字很多,可能为aid, 微信里为unionid)和玩家的重要信息。 不同项目都会有一个对应的appid,对应到计费里会有当前项目的唯一ID(微信中...原创 2018-04-09 21:03:53 · 413 阅读 · 0 评论 -
[架构]网关服务设计
网关服务设计second60 20180408 1 什么是网关服务 通常情况,服务内部的各个进程是独立的,如果外部服务需要访问内部的服务,就必须通过网关服务(gateway service)。 1.1 网关的作用网关服务,通常是外部访问的唯一接口,访问内部的所有服务都必须先经过网关服务。网关服务的主要功能是消息解析过滤,路由,转发等。 1.2 网关的目的a)统一性:网关可以使外接服务调用统一接...原创 2018-04-08 22:12:39 · 2328 阅读 · 0 评论 -
[TCP]基于TCP的心跳和加密设计
基于TCP的心跳和加密设计second60 201802121 前言本章主要讲解的心跳是逻辑上的心跳,非TCP内部的心跳。一般TCP服务器都会在逻辑层做一个心跳,主要用来客户端无心跳请求时,确定客户端是否存活。对于手机客户端或弱网环境,是非常有必要的。 适用于:客户端与服务端,和服务与服务之间底层实现。-----------------------------------------------...原创 2018-02-12 16:06:30 · 3063 阅读 · 0 评论 -
TCP重试机制与运用实例
TCP重试机制与运用实例second60 201802051. TCP重试机制简介 在TCP三次握手的过程中,当客户端发送SYN分节之后,如果没有收到服务端返回的确认ACK,那么TCP会在6s后继续发送SYN分节,一直没收到,25s继续发送....在75S后仍然没收到请求,则返回错误。 上面描述了TCP三次握手过程中的重试机制。1. 发送SYN分节并没收到ACK原创 2018-02-05 21:21:31 · 4760 阅读 · 0 评论 -
[框架]浅淡集群和集群退休机制
浅淡集群和集群退休机制second60 201802011 解释 说到集群,就肯定会想到分布式,但今天我主要说的是集群。 1.1 分布式简介分布式:就是不同业务,分部到不同进程上(进程可以不同机器)。一个系统,拆分为不同的子系统,子系统之间可能相互依赖,也可独立没依赖,相互通过socket或rpc的方式调用。 比如:业务1进程,业务2进程,业务3进程,原创 2018-02-01 13:23:34 · 315 阅读 · 1 评论 -
[框架]缓存设计
[框架]缓存设计second60 20181031目录[框架]缓存设计1 . 缓存层目的1.1缓存能够加速读写速度1.2 降低后端负载3 缓存的使用场景3.1 加速请求响应,减少查数据库时间,优化高并发3.2 开销大的复杂计算分离3.3 通用缓存4 缓存更新策略4.1 LRU/LFU/FIFO算法剔除4.2 超时删除4.3 主动更新4....原创 2018-10-31 20:14:20 · 1096 阅读 · 0 评论