摘要:   事件驱动编程是一种编程范式,这里程序的执行流由外部事件来决定。它的特点是包含一个事件循环,当外部事件发生时使用回调机制来触发相应的处理。多线程是另一种常用编程范式,并且更容易理解。   高性能通用型C++网络框架 "Nebula" 是基于事件驱动的多进程网阅读全文
posted @ 2019-05-27 08:18 铁芒箕 阅读(228) 评论(0) 编辑
摘要: Protobuf应用广泛,尤其作为网络通讯协议最为普遍。本文将详细描述几个让人眼前一亮的protobuf协议设计,对准备应用或已经应用protobuf的开发者会有所启发,甚至可以直接拿过去用。 这里描述的协议设计被用于生产环境的即时通讯、埋点数据采集、消息推送、redis和mysql数据代理。 Bw阅读全文
posted @ 2019-05-13 00:08 铁芒箕 阅读(330) 评论(4) 编辑
摘要: 一个分布式服务集群管理通常需要一个协调服务,提供服务注册、服务发现、配置管理、组服务等功能,而协调服务自身应是一个高可用的服务集群,ZooKeeper是广泛应用且众所周知的协调服务。协调服务自身的高可用需要选举算法来支撑,本文将讲述选举原理并以分布式服务集群NebulaBootstrap的协调服务N阅读全文
posted @ 2019-01-23 22:26 铁芒箕 阅读(558) 评论(0) 编辑
摘要: HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。Nebula是一个为开发者提供一个快速开发高并发网络服务程序或搭建高并发分布式服务集群的高性能事件驱动网络框架。Nebula作为通用网络框架提供H阅读全文
posted @ 2018-10-30 21:58 铁芒箕 阅读(2862) 评论(3) 编辑
摘要:   传送文件描述符是高并发网络服务编程的一种常见实现方式。 "Nebula" 高性能通用网络框架即采用了UNIX域套接字传递文件描述符设计和实现。本文详细说明一下传送文件描述符的应用。 1. TCP服务器程序设计范式   开发一个服务器程序,有较多的的程序设计阅读全文
posted @ 2018-07-18 21:56 铁芒箕 阅读(241) 评论(0) 编辑
摘要: 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。阅读全文
posted @ 2018-07-14 14:25 铁芒箕 阅读(36) 评论(0) 编辑
摘要: 1. 概要   本文描述一个通过C++可变参数模板实现C++反射机制的方法。该方法非常实用,在 "Nebula" 高性能网络框架中大量应用,实现了非常强大的动态加载动态创建功能。 "Nebula框架在Github的仓库地址" 。   C++11的新特性 可变模阅读全文
posted @ 2018-07-13 12:37 铁芒箕 阅读(1296) 评论(1) 编辑
摘要: 1. 前言   用GitHub管理自己的开源项目有几年了,最近一年更新得比较多,仓库也越来越多越来越大。有时候感觉GitHub太慢,尤其是最近感觉更为明显,于是萌生了再找个国内类似GitHub的代码托管平台的想法,同时我也还想持续更新GitHub上的仓库,于是需要一个本地仓库(我阅读全文
posted @ 2018-07-11 23:43 铁芒箕 阅读(3600) 评论(6) 编辑
摘要: 这是Bwar在2009年写的设计模式C++实现,代码均可编译可运行,一直存在自己的电脑里,曾经在团队技术分享中分享过,现搬到线上来。 1. 模板方法简述 1.1 目的 定义一个操作中的算法骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某阅读全文
posted @ 2018-06-17 17:57 铁芒箕 阅读(157) 评论(0) 编辑
摘要: 1. JSON概述 JSON: JavaScript 对象表示法( JavaScript Object Notation) 。是一种轻量级的数据交换格式。 它基于ECMAScript的一个子集。许多编程语言都很容易找到JSON 解析器和 JSON 库。 JSON 文本格式在语法上与创建 JavaSc阅读全文
posted @ 2018-06-16 21:28 铁芒箕 阅读(13944) 评论(14) 编辑