- 博客(57)
- 资源 (35)
- 收藏
- 关注
原创 一个单生产-多消费模式下无锁方案(ygluu/卢益贵)
本文介绍一个“单生产(低频)-多消费”模式下的无锁哈希类方案,这个方案的性能优于golang的RWMutex,因为它永远不会因为“写”而导致与消费者发生碰撞而导致互斥同步。关键词:生产者-消费者模型、无锁队列、golang、RWMutex。一个单生产-多消费模式下无锁方案。
2024-03-23 19:07:33 428
原创 游戏服务端配置“热更”及“秒启动”终极方案(golang/ygluu/卢益贵)
众所周知,游戏服务端配置信息热更有几大问题(非lua架构):1、因配置对象的指针被场景对象引用而导致热更复杂度提高2、信息量大的配置表热更导致游戏卡顿、玩家闪断3、一般重载后的配置信息仅影响重载后新创建的对应场景对象,不能影响已存在的场景对象4、在高度解耦的模块化开发模式下导致热更复杂度提高本示例代码将使用通用方法来演示在“高度解耦、模块化、模板化”的开发模式下对上述问题的解决方案,并提出游戏服务器秒启动的辅助方案。同时给出了完整示例代码及下载连接(见后)。
2024-03-17 02:10:58 993 1
原创 【数据中台战略】可配置化数学建模的应用案例图解
无论再深奥的数学理论,数学建模最终产物是:数学公式和流程步骤。这是程序能理解和执行的数学模型。我们在数学建模的生产活动中,数学模型经常需要修改和调参,甚至推到重新建模,面对修改代码繁琐代价,痛点是:如何将数学建模活动独立在代码之外。本文将以前述的机车系统经验为基础并加以提炼,阐述可配置化数学建模。
2022-11-06 19:05:46 507
原创 插件式模块化软件框架的思想图解三(数据交换系统和条件系统)
文本主要介绍独立模块之间用于数据交换的数据交换系统、条件系统和公式系统组成的数据平台的设计思想,以及介绍围绕数据平台的生产-消费模型。
2022-05-15 22:54:00 1286
原创 插件式模块化软件框架的思想图解二(案例篇)
一、前言本人推崇模块化设计,不是基于技术深度,而是基于管理高度(如何在多变的项目需求中提高开发效率、缩短开发周期)。本文将通过一个《火车在途实时信息系统》的火车实时和历史轨迹显示部分的简要阐述来“插件式模块化软件框架思想”的理解和应用(实际项目设计要复杂得多)。本文涉及项目截图均已向社会公众公开,本文仅阐述行业惯例或通用做法部分,不涉及商业秘密和专利核心技术。阅读本文前最好先阅读本人上一篇博文《插件式模块化软件框架的思想图解一(框架篇)》:https://blog.csdn.net/gues
2021-08-29 20:09:35 1227
原创 C++高效低延时有锁队列测试程序
C++高效低延时有锁队列测试程序, 经过多次优化之后性能达到了最大化:10年华硕老本测试,队列速率1000万+,低延时(Pending数量少)。下载地址:https://download.csdn.net/download/GuestCode/21098156图1图2优化前通过满队列方式以提升队列通过率(图3),优化之后队列积压明显减少通过率还略有提升(图1):图3...
2021-08-15 21:19:06 377
原创 插件式模块化软件框架的思想图解一(框架篇)
插件化(模块化)软件框架思想的总结图解(码客/卢益贵)关键字:插件化 模块化 软件框架 C++ Golang Rust Delphi一、前述关于模块化的好处在此省略1000字,网络资源很多不再赘述。从本人20多年多个行业众多项目经历来说,无论是一个人、两个人开发,还是多人协同开发,模块化在实际应用中有非常高的实效性。本文讨论的是源代码插件化框架思想,而非二进制Dll之类的插件化。如果没有特别说明,本文提及的插件和模块是同一个实体概念。二、模块化原则1、高度独立要达到高度独立必须实行高
2021-08-15 02:37:02 3842 1
原创 git(gitlab)子模块功能在团队协同开发和生产环境中的应用(git,gitlab,TortoiseGit,CI/CD,Jenkins,docker-compose,分支合并,开发环境,测试环境)
git(gitlab)子模块功能在团队协同开发和生产环境中的应用目录git(gitlab)子模块功能在团队协同开发和生产环境中的应用一、前言二、先决条件三、创建gitlab项目(项目管理员操作)四、关联子模块(项目管理员操作)五、开发环境提交代码(团队开发人员操作)六、生产或测试环境合并代码(项目管理员操作)一、前言gitlab不仅能够提供便捷的CI/CD流程控制的方式,也能为开发团队提供便捷的版本库控制方式。在多人协同开发时,如果一个大型的开发...
2020-08-14 21:49:07 2189
原创 小团队大开发:iogo微服务集群框架(golang/grpc/http/protobuf/etcd/freetoo/5G物联网/服务发现/负载均衡/一致性哈希/码客/卢益贵)
小团队大开发:iogo微服务集群框架KeyWord: iogo,golang,grpc,protobuf,etcd,zookeeper,microservice,distributed lock,service discovery,cluster,load balancing,k8s,docker,redis,mamcache,5G物联网,微服务框架,分布式集群,分布式锁,分布式文件系统,分布式数据库,高速缓存集群,服务发现,负载均衡,容器编排,一致性哈希目录小团队大开发:iogo微..
2020-08-12 17:18:43 1553
原创 一个人写一个集群:基于GRPC的golang微服务框架iogo(grpc/protobuf/etcd/freetoo/码客 卢益贵)
一个人写一个集群:基于GRPC的golang微服务框架iogokeyword:iogo,golang,grpc,protobuf,etcd,zookeeper,microservice,distributed lock,service discovery,cluster,load balancing,微服务,分布式锁,服务发现,负载均衡1 iogo的初衷iogo微服务框架是对高效的远程...
2019-01-26 22:33:59 1193
原创 一键部署高可用etcd集群(TLS,ubuntu)(freetoo、码客、卢益贵)
一键部署高可用etcd集群(TLS,ubuntu)(freetoo、码客、卢益贵) 这是一个便捷高效的部署高可用etcd集群(TLS)的脚本工具。下载链接:https://download.csdn.net/download/guestcode/10798474一、【功能说明】 1、自动安装cfssl 2、一键生成ssl秘钥 3、一键安装到目标主机 二、【使用方...
2018-11-21 15:09:35 587
原创 项目管理级别的自动万能通用makefile模板:t-makefile (freetoo)
项目管理级别的自动万能通用makefile模板:t-makefile (freetoo) t-makefile源码及示例项目下载链接(会不定期更新):https://github.com/freetoo/t-makefile 一、t-makefile解决的痛点和难点往往在一个项目工程中,目录名改变了、子目录变更位置了都需要去修改makefile,目录繁多的时候修改ma...
2018-07-27 00:25:36 1449
原创 t-makefile:自动万能通用makefile模板(freetoo 码客 卢益贵)
t-makefile:自动万能通用makefile模板(freetoo 码客 卢益贵) 关键字: make makefile shell find grep wildcard notdir patsubst findstring wordlist suffix foreach gcc g++ c++11 嵌入脚本 静态链接库 动态链接库 静态动态混合编译链接 语法 内嵌函数 函数嵌套执行 ...
2018-07-22 11:02:24 627
原创 自动万能makefile(linux ubuntu gcc/g++),让makefile的编写不在烦人
自动万能makefile(linux ubuntu gcc/g++),让makefile的编写不在烦人keyword: wildcard notdir patsubst findstring wordlist suffix foreach 功能: 1、自动以makefile的父目录名为Target文件名称 2、自动搜索源码文件(含子目录) 3、自动搜索头...
2018-05-31 21:40:27 1631
转载 共享windows文件夹给VMware的ubuntu server虚拟机
共享windows文件夹给VMware的ubuntu server虚拟机 把宿主机的文件夹共享给VMware的ubuntu server虚拟机,需要安装VMware tools工具包。1、在VMWare设置共享文件夹:a、先关闭虚拟机b、在VMware虚拟机窗口,选择菜单虚拟机->设置->选项->共享文件夹c、在共享文件页面选择“添加”增加共享文件夹d、并勾选...
2018-05-11 08:01:46 1501
原创 Ubuntu 14.04 + xRDP + Xfce 实现Windows远程桌面连接
Ubuntu 14.04 + xRDP + Xfce 实现Windows远程桌面连接1. 安装xRDP及vncserversudo apt-get install xrdpsudo apt-get install vnc4server tightvncserver 2. 安装Xfce桌面环境sudo apt-get install xubuntu-desk
2017-02-12 02:59:15 3586 1
原创 一个极其简单的用golang net写的tcpip echoserver
一个极其简单的用golang net写的tcpip echoserver 关键字:linux golang tcpip echoserver 虽然然效率不是很理想,但是可以给初学者参考package mainimport ( "fmt" "net" "os" "runtime")func doEcho(c net.Conn) { defer
2015-12-06 13:17:16 2414
原创 linux安装nginx并设置https(openssl)
一、安装依赖包1.$sudo apt-get install openssl 或者$sudo apt-get install libssl-dev2.$sudo apt-get install libpcre3 libpcre3-dev二、安装nginx1.$cd /usr/local/src2.sudo wget http://nginx.org/download
2015-12-06 13:08:08 21920
原创 IOKING真正无锁服务器引擎之消息引擎模块Demo(no-lock)
关键词:no-lock interlocked lock-free tcp/ip socket server engine epoll iocp server out-of-orderexecution无锁 原子锁 原子操作 原子指令 锁无关 开放锁 通讯服务器 引擎 高并发 大数据 搜索引擎 完成端口服务器 cpu乱序并行执行 内存栅栏IOKING 真正无锁服务器引擎之消
2015-08-27 23:06:47 3708
原创 linux(centos/ubuntu)使用subversion
1、安装:sudo apt-get install subversion subversion2、从远程检出到本地,如果不指定DestPath,默认到当前路径svn co svn co svn://192.168.1.168/wuliu/code DestPath3、上传到远程,CD到要上传的目录下:将新建的文件或文件夹加入到版本控制svn add × 提交所有
2015-04-26 18:09:42 1334
原创 linux(centos/ubuntu)下支持exFat格式
1、sudo add-apt-repository ppa:relan/exfat2、sudo apt-get update3、sudo apt-get install exfat-utils
2015-04-24 21:23:40 2993
原创 linux下安装sublime_text (linux(centos ubuntu) install sublime_text)
1、下载并安装 Sublime Text 3,下载地址:http://www.sublimetext.com/32、给 Sublime Text 3 安装 Package Control:打开 Sublime Text 3,按下 Ctrl + `(反引号,Tab 键上面),输入如下内容并回车:import urllib.request,os; pf = ‘Packa
2015-04-24 21:20:23 3870
原创 linux下安装mongodb (linux(centos ubuntu) install mongo)
1、打开并编辑文件:sudo gedit /etc/apt/sources.list 2、 在最后一行加入: deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen 保存退出 3、加入GPG Key(终端命令): sudo apt-key adv --keyserver k
2015-04-24 21:12:18 1504
原创 linux下安装redis(linux(centos/ubuntu) install redis)
一、检查是否安装gcc和tcl,没有的要安装: yum install gcc-c++ yum install -y tcl 二、下载redis: wget http://download.redis.io/redis-stable.tar.gz 三、解压redis: tar xvzf redis-stable.tar.gz 四、编译redis:
2015-04-24 21:07:18 2052
原创 linux下安装beego(linux(centos/ubuntu) install beego)
1、下载安装:$ go get github.com/astaxie/beego $ go get github.com/beego/bee 2、将 $GOPATH/bin 加入到你的 $PATH 变量中。3、检测安装:$ cd $GOPATH/src $ bee new hello $ cd hello $ bee run hello
2015-04-24 17:52:38 8401
原创 linux下安装gocode(linux(centos/ubuntu) install gocode)
1、安装gitsudo apt-get install git2、下载gocodego get github.com/nsf/gocode3、安装gocodego install github.com/nsf/gocode
2015-04-24 17:42:55 4509
原创 linux下安装golang(linux(centos/ubuntu) install golang)
1、安装在devtoolsmkdir $HOME/devtoolstar -xzf go1.4.2.linux-amd64.tar.gz -C $HOME/devtools2、增加环境变量:sudo gedit /etc/profile在打开的文件后面加export GOARCH=amd64export GOOS=linuxexport GOROOT
2015-04-24 17:37:46 4390
原创 'IOKING' TCP Transmission Server Engine ('云猴'©TCP通讯服务器引擎)(预告版)
关键词:IOKING IOCP TCP Transmission Server Engine Lock Free Interlocked云猴完成端口TCP通讯服务器引擎 无锁 原子锁(函数)'IOKING' TCP Transmission Server Engine ('云猴'©TCP通讯服务器引擎)(预告版)下载连接:http://download.csd
2014-06-10 02:06:14 3910 1
原创 游戏中防止加速的一种方法
关键字:游戏 服务器 客户端 防外挂加速游戏当中有些动作要求必须间隔一定时间才能执行,比如跑步等动作。如果仅在客户端限制的话往往都被加速器(外挂)所破坏。本文假定客户端必须间隔400毫秒的数据包传输,提出服务器端解决加速问题的一种方法。一、客户端发送若干数据包t1=tc;Send(…);t2=tc;Send(…);…t6=tc;Send(
2014-02-09 12:40:13 9069
原创 服务器端沾包处理的copy效率问题
本文说的基于数据包(有头尾标示并且独立被处理的数据区)的高效通信要求下,阅读需要有一定的沾包处理经验。沾包是tcp流传输的一个特点,形成沾包的主要原因是,数据包小于接收缓冲时,对方不断发生数据包,接受方连续接收数据放入接收缓冲导致的。要想不产生沾包现像,可以采用一发一答方式,就是我发送一个数据包过去之后,对方应答了再发送下一个数据包;还有就是规定数据包头2个字节(假定)代表数据包长度,每次先接
2014-01-16 02:47:58 4742
原创 G-Sockets2.5 发布说明
关键字:Iocp Tcp Server 完成端口服务器 压力测试工具 回射服务器 内存加载DLL下载链接:http://blog.csdn.net/guestcode/article/details/7538636更新说明:1、修补发送GBuf可能导致乱序的Bug,2、Delphi版增加内存加载DLL的功能,3、增加授权证书功能,未经授权的不保证其能
2014-01-13 05:18:29 3627
原创 自扩充的无锁(Lock-Free)并发环形队列算法
注:这是好早就发资源上的了,现在看起来似乎有更好的方法,先发帖吧,有兴趣的可讨论再做修改。文档下载:http://download.csdn.net/download/guestcode/3022300自扩充的Lock-Free并发环形队列算法卢益贵 中国广西南宁市QQ:48092788 E-Mail: [email protected] Blog:http:/
2013-09-23 01:44:48 5071
原创 沉默3年了,该写点什么呢——什么是网络通讯?
确确的说,应该是“什么是tcp通讯”。我不说严谨的学术定义,其实我那学历水平也说不出来,嘿嘿。网络通讯嘛,其实两个socket连接就OK了,是吗?!过去这么多年,处理解决了很多tcp通讯的问题,是应该写点东西了,要不然这个博客就沉陷下去了。先看看这小段代码:......Send(s, buf1, len1, 0);Send(s, buf2, len2, 0);C
2013-09-23 01:32:44 3780 6
原创 Server(Iocp)的那些烦恼
自G-Socket0.88版开源以来,得到很多朋友的支持。从1.0版本至2.0之前,内核几乎没有改变,经过多处的应用其稳定性和效率表现是相当不错的。这几年的经验总结成一句话:服务器程序不是有了一个好的Iocp通信组件就能玩转的。 很多情况下,我们都会遇到下面的问题:1 致命的锁又死锁了,怎样高效而又不死锁?是不是使用无锁算法就能解决?2 无序的数据为什么服务器接收的数据包会
2013-09-22 00:55:17 4910 2
原创 G-Sockets(IOCP) 2.5 Demo 源码 (VC2008 & Delphi7/2010)下载
G-Sockets(IOCP)最新版本的Iocp Tcp Server 完成端口服务器通讯模块Demo源码及技术文档,包括粘包处理源码、客户端突破6W连接限制的文档、强大的服务器(Tcp Server)压力测试工具及无限制的EXE服务器程序(供体验测试)。 有关Iocp技术请阅读本博客其他帖子。 声明:未授权的DLL或LIB,是限制版,本人不保证它能正...
2012-05-06 00:14:17 12415 13
原创 Iocp Tcp Server——G-Socket1.1 Demo源码(VC & Delphi)
最新版本的G-Socket Demo(VC2008 Delphi 7&2010)源码及技术文档,包括粘包处理源码、客户端突破6W连接限制的文档、强大的Tcp Server测试工具。 下载连接(最新的在最前面,看日期):声明:未授权的DLL或LIB,是限制版,本人不保证它能正常使用,有关限制信息,注意参看日志文件。压力测试工具G-TcpClientDemo.exe修复Bu
2011-07-10 23:17:23 7222 8
原创 强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)
强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)关键词:IOCP TcpServer TcpClient 完成端口服务器达到6万连接突破连接限制压力测试工具堵塞锁非堵塞锁无锁 Lock Free 并发队列并发可扩充环形队列首先感谢在行动和精神上给予本人支持的各位同行,在过去的日子,使得本人的IOCP研究进入了崭新的领域。本文及附件希望能给予更多人的帮助,限于商用等原因,除了原来的0.85版开源之外,更高版本不便开源,仅简单描述一些技术要点,请谅解。但附件的压力工具源码,仍然
2010-07-23 03:48:00 14976 10
原创 代码客:G-Socket(IOCP) 1.0(Server/Client)例程源码+Server体验程序+强大的压力测试工具
代码客:G-Socket(IOCP) 1.0(Server/Client)例程源码+Server体验程序+强大的压力测试工具关键词:完成端口 IOCP GSocket GTcpServer GTcpClient 压力测试工具 模块结构层次及相互联系(1)、工作线程:响应连接的IO投递返回并负责投递读请求,并将IO返回结果投递给处理线程,可设定参数决定
2010-05-26 01:11:00 7358 7
git_tortoissegit.rar
2020-08-14
golang_iogo_install.rar
2020-08-12
自扩充的Lock-Free并发环形队列算法
2011-02-15
强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)(再次补丁版)
2010-07-23
强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)(补丁版)
2010-07-23
强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)
2010-07-23
强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)
2010-07-23
代码客:G-Socket(IOCP) 1.0 (Server/Client)例程源码+Server体验程序+强大的压力测试工具
2010-05-26
代码客:G-TcpServer(IOCP) 1.0 正式版及Demo源码
2010-04-29
代码客:Iocp Tcp Server(G-TcpServer) 1.0 Demo源码
2010-04-20
功能强大的IOCP Socket Servre模块例程源码
2009-09-20
内存管理(AWE)——例程源码完成端口通讯服务器(IOCP Socket Server)设计(二)
2009-08-27
功能强大的串口工具:GhostyComm 4.0(万能通讯精灵)
2009-08-05
Windows mobile 透明/半透明控件组(皮肤控件)
2009-08-05
高性能的socket通讯服务器(完成端口模型--IOCP)
2009-08-04
Windows mobile 透明/半透明控件组(皮肤控件)
2009-08-04
游戏服务端配置“热更”及“秒启动”终极方案(golang/ygluu/卢益贵)
2024-03-17
游戏服务端配置“热更”终极方案(golang/ygluu/卢益贵)
2024-03-17
Data Engine(数据引擎)用于独立模块间数据共享(Data Engine, For data sharing betwe
2023-09-17
amc(Asynchronous Microservice Cluster)异步微服务集群库
2023-09-17
一键安装高可用etcd集群(TLS)
2018-11-21
自动万能makefile(linux ubuntu gcc/g++)
2018-05-31
ioking真正无锁的服务器引擎之消息引擎模块(nolock)修订版
2015-08-31
ioking真正无锁的服务器引擎之消息引擎模块(nolock)
2015-08-27
ioking无锁线程通讯(no-lockl)demo
2015-04-09
G-Sockets 2.5
2014-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人