摘要: 1. 概要 2018年Bwar发布了《C反射机制:可变参数模板实现C反射》,文章非常实用,Bwar也见过好几个看了那篇文章后以同样方法实现反射的项目,也见过不少从我的文章抄过去连代码风格类名函数变量名什么都没改或者只是简单改一下重新发表的。被抄说明有价值,分享出来就不在意被抄,觉得文章有用就star 阅读全文
posted @ 2020-11-29 17:55 铁芒箕 阅读(1054) 评论(0) 推荐(0) 编辑
摘要:   极力推荐一个简单好用的C++JSON库CJsonObject,让使用json如使用C++原生的结构体那般方便,随心所欲。 "CJsonObject" 是个优秀的C++JSON库,也许会是你见过的最为简单易用的C++json库。CJsonObject的开源地址是 "https: 阅读全文
posted @ 2019-08-03 12:31 铁芒箕 阅读(19913) 评论(2) 推荐(4) 编辑
摘要:   事件驱动编程是一种编程范式,这里程序的执行流由外部事件来决定。它的特点是包含一个事件循环,当外部事件发生时使用回调机制来触发相应的处理。多线程是另一种常用编程范式,并且更容易理解。   高性能通用型C++网络框架 "Nebula" 是基于事件驱动的多进程网 阅读全文
posted @ 2019-05-27 08:18 铁芒箕 阅读(1794) 评论(0) 推荐(0) 编辑
摘要: Protobuf应用广泛,尤其作为网络通讯协议最为普遍。本文将详细描述几个让人眼前一亮的protobuf协议设计,对准备应用或已经应用protobuf的开发者会有所启发,甚至可以直接拿过去用。 这里描述的协议设计被用于生产环境的即时通讯、埋点数据采集、消息推送、redis和mysql数据代理。 Bw 阅读全文
posted @ 2019-05-13 00:08 铁芒箕 阅读(1336) 评论(4) 推荐(2) 编辑
摘要: 一个分布式服务集群管理通常需要一个协调服务,提供服务注册、服务发现、配置管理、组服务等功能,而协调服务自身应是一个高可用的服务集群,ZooKeeper是广泛应用且众所周知的协调服务。协调服务自身的高可用需要选举算法来支撑,本文将讲述选举原理并以分布式服务集群NebulaBootstrap的协调服务N 阅读全文
posted @ 2019-01-23 22:26 铁芒箕 阅读(3668) 评论(0) 推荐(0) 编辑
摘要: HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。Nebula是一个为开发者提供一个快速开发高并发网络服务程序或搭建高并发分布式服务集群的高性能事件驱动网络框架。Nebula作为通用网络框架提供H 阅读全文
posted @ 2018-10-30 21:58 铁芒箕 阅读(24568) 评论(6) 推荐(6) 编辑
摘要:   传送文件描述符是高并发网络服务编程的一种常见实现方式。 "Nebula" 高性能通用网络框架即采用了UNIX域套接字传递文件描述符设计和实现。本文详细说明一下传送文件描述符的应用。 1. TCP服务器程序设计范式   开发一个服务器程序,有较多的的程序设计 阅读全文
posted @ 2018-07-18 21:56 铁芒箕 阅读(776) 评论(0) 推荐(1) 编辑
摘要: 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。 阅读全文
posted @ 2018-07-14 14:25 铁芒箕 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 1. 概要 本文描述一个通过C可变参数模板实现C反射机制的方法。该方法非常实用,在Nebula高性能网络框架中大量应用,实现了非常强大的动态加载动态创建功能。Nebula框架在Github的仓库地址。 C11的新特性--可变模版参数(variadic templates)是C11新增的最强大的特性之 阅读全文
posted @ 2018-07-13 12:37 铁芒箕 阅读(10364) 评论(8) 推荐(4) 编辑
摘要: 1. 前言   用GitHub管理自己的开源项目有几年了,最近一年更新得比较多,仓库也越来越多越来越大。有时候感觉GitHub太慢,尤其是最近感觉更为明显,于是萌生了再找个国内类似GitHub的代码托管平台的想法,同时我也还想持续更新GitHub上的仓库,于是需要一个本地仓库(我 阅读全文
posted @ 2018-07-11 23:43 铁芒箕 阅读(18857) 评论(6) 推荐(1) 编辑