MessagePack

你敢信?就是这个Netty的网络框架差点把我整疯了,哭jj

六月ゝ 毕业季﹏ 提交于 2020-12-02 23:13:11
不知道大家对下面的这个图标眼熟不 对,这就是netty,最近差点整疯了我的一个网络框架,下方是官网对他的描述,感兴趣大家可以去官网看一下,这不是今天的重点,接着往下看: 为啥说这玩意快把我整疯了啊,哎,好奇害死猫啊,我这人是对网络一窍不通,所以网络的东西我一般是不去触碰的,但是,最近公司的人以及各大论坛里面,netty这个技术真的是如日中天,我身边的朋友去面试的回来也说这个技术问的有点多啊,我好奇心作怪就想去试一下,然后在网上查找了很多资料和代码实现,我就觉得没啥,于是自己搭建了一下玩玩,比方说下面我要跟大家说的这个重点: netty+springboot实现 长连接 - 心跳 - 自动重连 - 通信 关注公众号:Java架构师联盟,每日更新技术好文 然后出问题了,我作为程序员的执拗,不能有 bug,这就出问题了,我们先来看一下网上的源码 package com.gzky.study; ​ import com.gzky.study.netty.MsgPckDecode; import com.gzky.study.netty.MsgPckEncode; import io.netty.bootstrap.Bootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup;

一篇短文带您了解一下EasyCaching

廉价感情. 提交于 2020-10-10 23:56:41
前言 从2017年11月11号在Github创建 EasyCaching 这个仓库,到现在也已经将近一年半的时间了,基本都是在下班之后和假期在完善这个项目。 由于EasyCaching目前只有英文的 文档 托管在Read the Docs上面,当初选的MkDocs现在还不支持多语言,所以这个中文的要等它支持之后才会有计划。 之前在群里有看到过有人说没找到EasyCaching的相关介绍,这也是为什么要写这篇博客的原因。 下面就先简单介绍一下EasyCaching。 什么是EasyCaching EasyCaching,这个名字就很大程度上解释了它是做什么的,easy和caching放在一起,其最终的目的就是为了让我们大家在操作缓存的时候更加的方便。 它的发展大概经历了这几个比较重要的时间节点: 18年3月,在茶叔的帮助下进入了NCC 19年1月,镇汐大大提了很多改进意见 19年3月,NopCommerce引入EasyCaching (可以看这个 commit记录 ) 19年4月,列入 awesome-dotnet-core (自己提pr过去的,有点小自恋。。) 在EasyCaching出来之前,大部分人应该会对 CacheManager 比较熟悉,因为两者的定位和功能都差不多,所以偶尔会听到有朋友拿这两个去对比。 为了大家可以更好的进行对比

Netty入门系列(3) --使用Netty进行编解码的操作

天大地大妈咪最大 提交于 2020-04-26 18:54:34
前言 何为编解码,通俗的来说,我们需要将一串文本信息从A发送到B并且将这段文本进行加工处理,如:A将信息文本信息 编码 为2进制信息进行传输。B接受到的消息是一串2进制信息,需要将其 解码 为文本信息才能正常进行处理。 上章我们介绍的Netty如何解决拆包和粘包问题,就是运用了解码的这一功能。 java默认的序列化机制 使用Netty大多是java程序猿,我们基于一切都是对象的原则,经常会将对象进行网络传输,那么对于序列化操作肯定大家都是非常熟悉的。 一个对象是不能直接进行网络I/O传输的,jdk默认是将对象转换为可存储的字节数组来进行网络操作。基于JDK默认的序列化机制可以避免操作底层的字节数组,从而提升开发效率。 jdk默认的序列化机制虽然能给程序猿带来极大的方便,但是它也带来了许多问题: 无法跨语言。 序列化后的码流太大,会给网络传输带来极大的开销。 序列化的性能太低,对于高性能的网络架构是极其不友好的。 主流的编解码框架 Google的Protobuf。 Facebok的Thrift。 Jboss Marshalling MessagePack 这几类编解码框架都有各自的特点,有兴趣的童鞋可以自己对其进行研究。 我们这里主要对MessagePack进行讲解。 MessagePack简介 MessagePack是一个高效的二进制序列化框架

ASP.NET Core的实时库: SignalR简介及使用

断了今生、忘了曾经 提交于 2020-03-27 09:36:26
原文:https://www.cnblogs.com/cgzl/p/9515516.html#sig 大纲 本系列会分为2-3篇文章. 第一篇介绍了SignalR的预备知识和原理 本文介绍SignalR以及ASP.NET Core里使用SignalR . 本文的内容: 介绍SignalR 在ASP.NET Core中使用SignalR SignalR SignalR是一个.NET Core/.NET Framework的开源实时框架. SignalR的可使用Web Socket, Server Sent Events 和 Long Polling作为底层传输方式. SignalR基于这三种技术构建, 抽象于它们之上, 它让你更好的关注业务问题而不是底层传输技术问题. SignalR这个框架分服务器端和客户端, 服务器端支持ASP.NET Core 和 ASP.NET; 而客户端除了支持浏览器里的javascript以外, 也支持其它类型的客户端, 例如桌面应用. 回落机制 SignalR使用的三种底层传输技术分别是Web Socket, Server Sent Events 和 Long Polling. 其中Web Socket仅支持比较现代的浏览器, Web服务器也不能太老. 而Server Sent Events 情况可能好一点, 但是也存在同样的问题.

【微服务】序列化协议 In Action

孤街浪徒 提交于 2020-03-25 11:42:02
3 月,跳不动了?>>> 本文就常见的几种序列化协议介绍下简单的实践 ProtoBuf ProtoBuf 是有谷歌开源,可以跨语言,可编译成各种语言。可称之为一个IDL, Interface description language. 下载编译器,protoc protoc-3.11.4-osx-x86_64.zip;可下载不同操作系统的版本, https://github.com/google/protobuf/releases 设置环境变量 vi ~/.bash_profile export PATH=$PATH:/path/to/protoc-3.4.0/bin 在maven项目中引入相关依赖 <!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java --> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>3.11.4</version> </dependency> <!-- https://mvnrepository.com/artifact/com.googlecode.protobuf-java-format/protobuf

ASP.NET Core的实时库: SignalR简介及使用

安稳与你 提交于 2020-03-19 10:05:59
大纲 本系列会分为2-3篇文章. 第一篇介绍了SignalR的预备知识和原理 本文介绍SignalR以及ASP.NET Core里使用SignalR . 本文的内容: 介绍SignalR 在ASP.NET Core中使用SignalR SignalR SignalR是一个.NET Core/.NET Framework的开源实时框架. SignalR的可使用Web Socket, Server Sent Events 和 Long Polling作为底层传输方式. SignalR基于这三种技术构建, 抽象于它们之上, 它让你更好的关注业务问题而不是底层传输技术问题. SignalR这个框架分服务器端和客户端, 服务器端支持ASP.NET Core 和 ASP.NET; 而客户端除了支持浏览器里的javascript以外, 也支持其它类型的客户端, 例如桌面应用. 回落机制 SignalR使用的三种底层传输技术分别是Web Socket, Server Sent Events 和 Long Polling. 其中Web Socket仅支持比较现代的浏览器, Web服务器也不能太老. 而Server Sent Events 情况可能好一点, 但是也存在同样的问题. 所以SignalR采用了回落机制, SignalR有能力去协商支持的传输类型. Web

BeetleX之XRPC使用详解

怎甘沉沦 提交于 2020-01-03 13:59:49
XRPC 是基于 BeetleX 扩展一个远程接口调用组件,它提供基于接口的方式来实现远程服务调用,在应用上非常简便。组件提供 .NETCore2.1 和 .NETStandard2.0 的client版本,因此即使在 winfrom 和 wpf 也可以使用该组件进行服务调用处理。接下来详细讲解一下 XRPC 使用,从简单的 hello 到桌面 wpf 调用服务、ssl通讯安全和对象注入等功能。 引用组件 搜小说 shupu.org 组件提供了两个版本 BeetleX.XRPC 对应 .NETCore2.1 它同时提供服务和客户端调用功能, BeetleX.XRPC.Clients 是对应 Standard2.0 客户端版本,专门针对桌面应用调用而开发。除了这两个组件外还提供了 BeetleX.XRPC.Hosting ,这个组件专门为 XRPC 服务提供以 Hosting 方式运行的支持,如果你想使用 DI 那也可以通过这个组件实现。 Hello 很多程序的开始都是以 Hello 来展示使用,接下来就使用组件构建一个 Hello 的通讯服务。组件的所有服务都需要通过接口来描述,所以在制定服务前需要用接口来描述一下服务需求: public interface IHello { Task < string > Hello( string name); } 以上是一个 Hello

MessagePack详解

痴心易碎 提交于 2020-01-02 00:21:08
版权声明:分享是一种品质,开源是一种精神。 https://blog.csdn.net/wangmx1993328/article/details/84477073 MessagePack Intro It's like JSON.but fast and small. MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves. 它像 JSON,但是更快更小。 MessagePack 是一种高效的二进制序列化格式。它允许您在 JSON 等多种语言之间交换数据,但它更快速更小巧。小整数被编码为单个字节,典型的短字符串除了字符串本身之外只需要一个额外的字节。 MessagePack 官网地址: https://msgpack.org/ MessagePack Java 模块

MessagePack: fast cross-platform serializer and RPC - please share experience

偶尔善良 提交于 2019-12-31 13:13:18
问题 Looking for some fast, simple and stable RPC library I stumbled upon MessagePack project which seems to be very good. It is also under active development. If you used it in any way, could you please share your experience? P.S. I think this question should be community wiki 回答1: Well, after some time I found that MessagePack is not well-documented (there was even non-working tutorial in Wiki for Java), there are like 7 outstanding bugs several months old without any replies. Code even is not

MessagePack: fast cross-platform serializer and RPC - please share experience

纵然是瞬间 提交于 2019-12-31 13:13:12
问题 Looking for some fast, simple and stable RPC library I stumbled upon MessagePack project which seems to be very good. It is also under active development. If you used it in any way, could you please share your experience? P.S. I think this question should be community wiki 回答1: Well, after some time I found that MessagePack is not well-documented (there was even non-working tutorial in Wiki for Java), there are like 7 outstanding bugs several months old without any replies. Code even is not