一个偶然的机会接触到了golang,被它的高并发传说所吸引,就开始学这门语言,越学感觉越有意思^_^ 注册了博客园这么多年,第一次写东西,年纪大了,脑子不好使了,就得写下来,记下来,为了自己以后查阅,同时也分享给golang的爱好者. gnet 在CSDN上的介绍如下:https://blog.csdn.net/qq_31967569/article/details/103107707 github v1版本的开源地址为:https://github.com/panjf2000/gnet 详细介…
Github 主页 https://github.com/panjf2000/gnet 欢迎大家围观~~,目前还在持续更新,感兴趣的话可以 star 一下暗中观察哦. 简介 gnet 是一个基于 Event-Loop 事件驱动的高性能和轻量级网络库.这个库直接使用 epoll 和 kqueue 系统调用而非标准 Golang 网络包:net 来构建网络应用,它的工作原理类似于两个开源的网络库:libuv 和 libevent. 这个项目存在的价值是提供一个在网络包处理方面能和 Redis.Hap…
github https://github.com/sea-boat/net-reactor net-reactor it's a simple and easy net framework with nio mode written by java reactor model watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ3lhbmd6aGl6aG91/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==…
我们公司性质是新零售,公司也有专门的框架组.这群大牛自己开发了一整套分布式微服务框架.我们也在使用这套框架,有很多心得体会. 该框架既Dapeng也!开源github地址:https://github.com/dapeng-soa Dapeng-soa 是一个轻量级.高性能的微服务框架,构建在Netty以及定制的精简版Thrift之上. 同时,从Thrift IDL文件自动生成的服务元数据信息是本框架的一个重要特性,很多其它重要特性都依赖于服务元数据信息. 最后,作为一站式的微服务解决方案,Da…
Voovan 是一个高性能异步网络框架和 HTTP 服务器框架,同时支持 HTTP 客户端抓取.动态编译支持.数据库访问封装以及 DateTime.String.Log.反射.对象工具.流操作.文件操作.异步双向通道等功能.旨在提供可靠.方便.可单元测试的代码.它是一个无任何依赖的独立工具包,希望能够方便广大开发者快速的实现应用. 作者:@愚民日记 地址:http://git.oschina.net/helyho/Voovan http://www.oschina.net/news/80909/…
1.背景 最近在搜索Netty和Zookeeper方面的文章时,看到了这篇文章<轻量级分布式 RPC 框架>,作者用Zookeeper.Netty和Spring写了一个轻量级的分布式RPC框架.花了一些时间看了下他的代码,写的干净简单,写的RPC框架可以算是一个简易版的dubbo.这个RPC框架虽小,但是麻雀虽小,五脏俱全,有兴趣的可以学习一下. 本人在这个简易版的RPC上添加了如下特性: * 服务异步调用的支持,回调函数callback的支持 * 客户端使用长连接(在多次调用共享连接) *…
为什么会想通过Netty构建一个HTTP代理服务器?这也是笔者发表这篇文章的目的所在. 其主要还是源于解决在日常开发测试过程中,一直困扰测试同学很久的一个问题,现在我就来具体阐述一下这个问题. 在日常开发测试过程中,为了确保上线项目的万无一失,集成测试通常有部署,测试环境和回归环境这两套环境.开发人员根据需求编写代码模块,自测通过之后,由测试的同学更新到测试环境,进行测试.如果测试通过,确定项目具备上线条件,后续会在回归环境,进行回归测试.回归验证通过的项目,才具备上线条件. 由于模块的复杂性和…
原文出处: 阿凡卢 1.背景 最近在搜索Netty和Zookeeper方面的文章时,看到了这篇文章<轻量级分布式 RPC 框架>,作者用Zookeeper.Netty和Spring写了一个轻量级的分布式RPC框架.花了一些时间看了下他的代码,写的干净简单,写的RPC框架可以算是一个简易版的dubbo.这个RPC框架虽小,但是麻雀虽小,五脏俱全,有兴趣的可以学习一下. 本人在这个简易版的RPC上添加了如下特性: 服务异步调用的支持,回调函数callback的支持 客户端使用长连接(在多次调用共享…
前言 http协议是互联网上使用最广泛的通讯协议了.web通讯也是基于http协议:对应c#开发者来说,asp.net core是最新的开发web应用平台.由于最近要开发一套人脸识别系统,对通讯效率的要求很高.虽然.net core对http处理很优化了,但是我决定开发一个轻量级http服务器:不求功能多强大,只求能满足需求,性能优越.本文以c#开发windows下http服务器为例. 经过多年的完善.优化,我积累了一个非常高效的网络库(参见我的文章:高性能通讯库).以此库为基础,开发一套轻量级…
博客列表页:http://blog.fishlee.net/tag/fslib-network/ 原创FSLib.Network库(目前专注于HTTP的高性能高易用性网络库) FSLib.Network网络库使用教程[1] 基本使用 FSLib.Network网络库使用教程[2] 实例教程·美女们快到硬盘里来! 放一个抓取网页的信息监控小工具源码 原创FSLib.Network库发布 1.4 版8 12306订票客户端 FOR .NET 演示项目 [1]项目概况 12306订票客户端 FOR .…
SSDB是一个开源的高性能数据库服务器, 使用Google LevelDB作为存储引擎, 支持T级别的数据, 同时支持类似Redis中的zset和hash等数据结构, 在同时需求高性能和大数据的条件下, 作为Redis的替代方案. 因为SSDB的最初目的是替代Redis, 所以SSDB会经常和Redis进行比较. 我们知道, Redis是经常的”主-从”架构, 虽然可以得到负载均衡以及数据跨地域备份的功能, 但无法实现高可用性. 考虑这种情况, Redis的主和从分别在两个IDC机房, 当主所在…
IOTutility 一个轻量级的 IOT 基础操作库 Base utility for IOT devices, networking, controls etc... IOTutility 的目的是提供一个易用的,轻量级的,能够快速使用的 IOT 编程功能库. 1. 为什么要写一个 IOT 编程库? 对于 IOT 设备而言,本身是功能比较单一,代码量也是越少越好,那么使用原生的库编程看起来应该是最好的选择.但是我在很多项目开发的初期却发现 我总是在做一些重复的编码,比如建立基础的 TCP 和…
ZeroMQ是一个轻量级的消息通信组件,尽管名字中包含了"MQ",严格上来讲ZeroMQ并不是"消息队列/消息中间件".ZeroMQ是一个传输层API库, 更关注消息的传输.与消息队列相比,ZeroMQ有以下一些特点: 点对点无中间节点 传统的消息队列都需要一个消息服务器来存储转发消息.而ZeroMQ则放弃了这个模式,把侧重点放在了点对点的消息传输上,并且(试图)做到极致.以为消息服务器最终还是转化为服务器对其他节点的点对点消息传输上.ZeroMQ能缓存消息,但是是…
在微服务流行的今天,我们会从纵向和横向分解代码的逻辑,将一些独立的无状态的代码单元实现为微服务,可以将它们发布到一些分布式计算单元或者Docker中,并在性能需要的时候及时地创建更多的服务单元.微服务是一个概念,并没有规定服务的格式,但是很多厂商和框架都不约而同的采用RESTful的架构,尽管也有一些其它的性能很好的RPC框架.如何在Java生态圈选择一个轻量级的RESTful框架?就我个人而言,我选择框架的理由很简单: 简单,轻量级 性能好 稳定,可靠 易于开发和维护 我会首选遵循Java规范…
ZeroMQ——一个轻量级的消息通信组件 ZeroMQ是一个轻量级的消息通信组件,尽管名字中包含了"MQ",严格上来讲ZeroMQ并不是"消息队列/消息中间件".ZeroMQ是一个传输层API库, 更关注消息的传输.与消息队列相比,ZeroMQ有以下一些特点: 点对点无中间节点 传统的消息队列都需要一个消息服务器来存储转发消息.而ZeroMQ则放弃了这个模式,把侧重点放在了点对点的消息传输上,并且(试图)做到极致.以为消息服务器最终还是转化为服务器对其他节点的点对点…
基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇 前提 最近对网络编程方面比较有兴趣,在微服务实践上也用到了相对主流的RPC框架如Spring Cloud Gateway底层也切换为Reactor-Netty,像Redisson底层也是使用Netty封装通讯协议,最近调研和准备使用的SOFARpc也是基于Netty封装实现了多种协议的兼容.因此,基于Netty造一个轮子,在SpringBoot的加持下,实现一个轻量级的RPC框架.这篇博文介绍的是RPC框架协议的定义以及对应的…
前提 前置文章: <基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇> <基于Netty和SpringBoot实现一个轻量级RPC框架-Server篇> 前一篇文章相对简略地介绍了RPC服务端的编写,而这篇博文最要介绍服务端(Client)的实现.RPC调用一般是面向契约编程的,而Client的核心功能就是:把契约接口方法的调用抽象为使用Netty向RPC服务端通过私有协议发送一个请求.这里最底层的实现依赖于动态代理,因此动态代理是动态实现接口的最简单方式(如果…
前言     Adnc是一个轻量级的.Net Core微服务快速开发框架,同时也可以应用于单体架构系统的开发.框架基于JWT认证授权.集成了一系列微服务配套组件,代码简洁.易上手.学习成本低.开箱即用.     前端基于Vue.后端服务基于.Net Core 3.1搭建,也是一个前后端分离的框架.webapi遵循RESTful风格,框架包含用户.角色.权限.部门管理:字典.配置管理:登录.审计.异常日志管理等基础的后台模块.     框架对配置中心.依赖注入.日志.缓存.模型映射.认证/授权.仓…
译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单.高性能兼容Redis协议的数据库的经历. 首先这个"Redis"是非常简单的实现,但是他在优化这个简单"Redis"路程很有趣,也能给我们在从事性能优化工作时带来一些启示. 原作者:Ayende Rahien 原链接:https://ayende.com/blog/197473-C/high-performance-net-building-a-redis-clone-arc…
译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单.高性能兼容Redis协议的数据库的经历. 首先这个"Redis"是非常简单的实现,但是他在优化这个简单"Redis"路程很有趣,也能给我们在从事性能优化工作时带来一些启示. 由于接下来的两篇较短,本文一起把它们一起翻译 原作者:Ayende Rahien 原链接: https://ayende.com/blog/197505-C/high-performance-net-bu…
译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单.高性能兼容Redis协议的数据库的经历. 首先这个"Redis"是非常简单的实现,但是他在优化这个简单"Redis"路程很有趣,也能给我们在从事性能优化工作时带来一些启示. 原作者:Ayende Rahien 原链接: https://ayende.com/blog/197569-B/high-performance-net-building-a-redis-clone-sk…
译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单.高性能兼容Redis协议的数据库的经历. 首先这个"Redis"是非常简单的实现,但是他在优化这个简单"Redis"路程很有趣,也能给我们在从事性能优化工作时带来一些启示. 原作者:Ayende Rahien 原链接: https://ayende.com/blog/197665-C/high-performance-net-building-a-redis-clone-an…
http://www.cnblogs.com/zengxiangzhan/p/3250105.html FluentData,它是一个轻量级框架,关注性能和易用性. 下载地址:FlunenData.Model 利用T4模板,[MultipleOutputHelper.ttinclude]批量生成多文件 基本语法: 1. 初始化:获取MultipleOutputHelper.ttinclude文件模板 在T4模板导入 //导入MultipleOutputHelper.ttinclude文件 路径…
使用Xcode做iOS项目,经常会和Xib文件打交道,因为Xib文件直观的展现出运行时视图的外观,所以上手非常容易,使用也很方便,但对于从未用纯代码写过视图的童鞋,多数对Xib的理解有些片面. Xib文件是什么? A nib file describes the visual elements of your application’s user interface, including windows, views, controls, and many others. It can also…
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:'用Roslynpad做一个轻量级的C#编辑器'.…
公布一个基于 Reactor 模式的 C++ 网络库 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 Aug 30 本文主要介绍 muduo 网络库的使用.其设计与实现将有另文解说. 文件夹 由来 1 下载与编译 2 样例 2 基本结构 3 公开接口 4 内部实现 4 线程模型 5 结语 5 由来 半年前我写了一篇<学之者生,用之者死——ACE历史与简评>,当中提到“我心目中理想的网络库”的样子: 线程安全,支持多核多线程 不考虑可移植性…
一说到写日志,大家可能推荐一堆的开源日志框架,如:Log4Net.NLog,这些日志框架确实也不错,比较强大也比较灵活,但也正因为又强大又灵活,导致我们使用他们时需要引用一些DLL,同时还要学习各种用法及配置文件,这对于有些小工具.小程序.小网站来说,有点“杀鸡焉俺用牛刀”的感觉,而且如果对这些日志框架不了解,可能输出来的日志性能或效果未毕是与自己所想的,鉴于这几个原因,我自己重复造轮子,编写了一个轻量级的异步写日志的实用工具类(LogAsyncWriter),这个类还是比较简单的,实现思路也很…
利用HttpWebRequest模拟表单提交   1 using System; 2 using System.Collections.Specialized; 3 using System.IO; 4 using System.Net; 5 using System.Text; 6 7 namespace Allyn.Common 8 { 9 public class HttpHelper 10 { 11 /// <summary> 12 /// 获取指定路径数据 13 /// </s…
FluentData:一种使用Fluent API的新型轻量级ORM模型  FluentData 是微型 ORM(micro-ORM)家族的一名新成员,旨在比大型 ORM(full ORM)更加易用.FluentData 于本月推出,它使用 fluent API 并支持 SQL Server.SQL Azure.Oracle 和 MYSQL. FluentData 的设计者 Lars-Erik Kindblad 谈到:   当前市面上的 ORM 框架,如 Entity Framework 和 N…
简介 项目主页:https://github.com/atomicobject/objection 实例下载: https://github.com/ios122/ios122 Objection 是一个轻量级的Objective-C依赖注入框架,可同时用于MacOS X 或者iOS.对于那些使用过Guice(一个Java依赖注入框架)的开发者,会感觉Objection 似曾相识.Objection用来以一种相对容易接受的方式来使你尽可能地不需要管理一个庞大的XML容器或者手动创建对象. 特点…