桃李不言,下自成蹊;软件工程师,非某语言的程序员

摘要: 什么是PlantUml "PlantUml" 是一个支持快速绘制的开源项目.其定义了一套完整的语言用于实现UML关系图的描述.并基于强大的graphviz图形渲染库进行UML图的生成.绘制的UML图还可以导出为图片,以及通用的矢量SVG格式文件. 如以下代码,可实现时序图 @startuml seq 阅读全文
posted @ 2019-03-18 14:35 假正经哥哥 阅读(12610) 评论(1) 推荐(5) 编辑
摘要: Peach是基于[DotNetty][1]的Socket网络通讯帮助类库,可以帮助开发者简化使用DotNetty,关于DotNetty可参考我之前的[这篇文章][2]。 Peach内置实现了一个基于文本协议的CommandLineProtocol,下面的实例以这个协议展开,最后以[DotBPE][3]中Amp协议来介绍下如何扩展自定义协议。 # QuickStart 使用 要使用Peach编写网络程序,一般只需要三个步骤 1. 实现协议传输消息IMessage 2. 实现协议打包和解包逻辑IProtocol 3. 实现ISocketService完成服务端逻辑编写 阅读全文
posted @ 2019-02-27 14:13 假正经哥哥 阅读(1409) 评论(0) 推荐(1) 编辑
摘要: DotXxlJob [github][https://github.com/xuanye/DotXxlJob] xxl job的dotnet core 执行器实现,支持XXL JOB 2.0+ 1 XXL JOB概述 [XXL JOB][1]是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、 阅读全文
posted @ 2019-01-19 18:56 假正经哥哥 阅读(5479) 评论(2) 推荐(5) 编辑
摘要: 在现代微服务架构中,服务可以在容器中运行,并且可以动态启动,停止和扩展。 这导致了一个非常动态的托管环境,可能有数百个实际端点,无法手动配置或找到正确的端点。 话虽这么说,我相信服务发现不仅适用于生活在容器中的粒状微服务。它可以被任何必须访问其他资源的应用程序使用。资源可以是数据库,其他Web服务,也可以是托管在其他地方的网站的一部分。服务发现有助于摆脱特定于环境的配置文件! 服务发现可用于解决此问题,但通常,有许多不同的方法来实现它 - 客户端服务发现 一种解决方案是拥有一个中央服务注册表,其中所有服务实例都在这里注册。客户端必须实现逻辑以查询他们需要的服务,最终验证端点是否仍然存活并且可能将请求分发到多个端点。 - 服务器端/负载平衡 所有流量都通过负载均衡器,负载均衡器知道所有实际的,动态变化的端点,并相应地重定向所有请求 Consul是一个服务注册表,可用于实现客户端服务发现。 除了使用这种方法的许多强大功能和优点之外,它的缺点是每个客户端应用程序都需要实现一些逻辑来使用此中央注册表。这个逻辑可能非常具体 阅读全文
posted @ 2019-01-05 11:57 假正经哥哥 阅读(1143) 评论(0) 推荐(4) 编辑
摘要: 在过去的几年中,结构化日志已经大受欢迎。而Serilog是 .NET 中最著名的结构化日志类库 ,我们提供了这份的精简指南来帮助你快速了解并运用它。 0. 内容 1. 设定目标 2. 认识Serilog 3. 事件和级别 4. 触发和收集结构化数据 5. 为过滤和关联添加事件标记 6. 大海捞针 [ 阅读全文
posted @ 2018-02-26 17:58 假正经哥哥 阅读(3842) 评论(0) 推荐(10) 编辑
摘要: 长久以来,.Net开发人员都非常羡慕Java有Netty这样,高效,稳定又易用的网络通信基础框架。终于微软的Azure团队,使用C#实现的Netty的版本发布。不但使用了C#和.Net平台的技术特点,并且保留了Netty原来绝大部分的编程接口。让我们在使用时,完全可以依照Netty官方的教程来学习和使用DotNetty应用程序。 DotNetty同时也是开源的,它的源代码托管在Github上:[https://github.com/azure/dotnetty](https://github.com/azure/dotnetty) 阅读全文
posted @ 2017-06-05 21:49 假正经哥哥 阅读(33377) 评论(21) 推荐(29) 编辑
摘要: DotBPE.RPC是一款基于dotnet core编写的RPC框架,而它的爸爸DotBPE,目标是实现一个开箱即用的微服务框架,但是它还差点意思,还仅仅在构思和尝试的阶段。但不管怎么说RPC是微服务的基础,先来讲讲RPC的实现吧。DotBPE.RPC底层通信默认实现基于[DotNetty](https://github.com/Azure/DotNetty),这是由微软Azure团队开发的C#的Netty实现,非常酷。当然你也可以替换成其他Socket通信组件。DotBPE.RPC使用的默认协议名称叫Amp,编解码使用谷歌的Protobuf3,不过这些默认实现都是可以替换的。 源码地址:[https://github.com/xuanye/dotbpe.git](https://github.com/xuanye/dotbpe.git) 阅读全文
posted @ 2017-05-15 20:49 假正经哥哥 阅读(5858) 评论(6) 推荐(11) 编辑
摘要: 什么是 Google Protocol Buffer? Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和 阅读全文
posted @ 2017-04-23 16:09 假正经哥哥 阅读(2573) 评论(0) 推荐(3) 编辑
摘要: ​ 本来我还想介绍以下VSCode或者donet core,但是发现都是废话,没有必要,大家如果对这个不了解可以直接google这两个关键字,或者也根本不会看我这边文章。 ​ 好直接进入主题了,本文的前提条件: 1. 已经安装好了.NET Core SDK 2. 已经安装了VSCode 0x00. 阅读全文
posted @ 2017-04-16 22:22 假正经哥哥 阅读(15769) 评论(16) 推荐(22) 编辑
摘要: 大家可以到http://www.icsharpcode.net/opensource/sharpziplib/ 下载SharpZiplib的最新版本,本文使用的版本为0.86.0.518,支持Zip, GZip, BZip2 和Tar格式,其实没啥好说的直接上代码 /// <summary> /// Zip压缩与解压缩 /// </summary> public cl... 阅读全文
posted @ 2011-10-19 09:34 假正经哥哥 阅读(32073) 评论(11) 推荐(15) 编辑