通信协议
文章平均质量分 84
Alex_81D
修身,赚钱,助人,玩天下
展开
-
grpc通信服务
其实很久没有搞过服务这个东西了,以前用的是TCP、http这种,后来用了Netty今天我们再说个grpc服务:为什么会用到这个呢,我说一下我的场景:做机器学习部署模型,有这么几种模型部署方式,1、tfserver -- 只支持tensorflow的模型代码2、pmml 模型服务,这种封装的比较死,灵活度不高,但是小公司用起来也足够了3、grpc -- 也是今天我们要说的这个grpc一种server - client模式,这个就比较熟悉了,我们常用的netty、socket都是这种原创 2021-04-30 13:17:16 · 860 阅读 · 2 评论 -
kafka单机搭建及操作--做个记录
最近一直在搞springboot整合kafka,于是自己搭建了一套单机的kafka环境,以便用于测试。原创 2020-03-31 13:44:21 · 437 阅读 · 0 评论 -
Kafka Consumer深入理解
最近项目需要进行实时读取服务端信息,在网上看到kafka可以解决这个问题,开发完成后对kafka做一个简单的整理,希望可以帮助到刚开始学习kafka 的同学,给自己也做个笔记:首先说一下kafka是个什么东西:kafka是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需...原创 2019-12-23 08:39:49 · 776 阅读 · 0 评论 -
基于 Token 的身份验证:JSON Web Token(附:Node.js 项目)
基于 Token 的身份验证:JSON Web Token(附:Node.js 项目)最近了解下基于 Token 的身份验证,跟大伙分享下。很多大型网站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起传统的身份验证方法,Token 扩展性更强,也更安全点,非常适合用在 Web 应用或者移动应用上。Token 的中文有人翻译成 “令牌”,我觉得挺好,意思...转载 2018-12-18 09:04:05 · 379 阅读 · 0 评论 -
基于JWT验证原理解决分布式系统session一致性问题
session一致性问题在集群或者分布式系统中,用户登录后的,由于服务端是集群环境或者分布式环境,如何保证用户每次与服务器交互都是使用原来的session或者实现单点登录,这里就涉及session一一致性的问题。解决session一致性问题可以从两种思路实现,一种是session服务端存储,一种是session客户端存储。session服务端存储服务端存储session,需要保证用户请求过...转载 2018-12-18 09:00:15 · 702 阅读 · 0 评论 -
关于base64编码Encode和Decode编码的几种方式
Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便。在实际应用上,Base64除了能将Binary资料可视化之外,也常用来表示字串加密过后的内容。如果要使用Java 程式语言来实作Base64的编码与解码功能,可以参考本篇文章的作法。早期作法早期在Java上做Base64的编码与解码,会使用到JDK里sun.m...原创 2018-07-11 14:54:02 · 10891 阅读 · 0 评论 -
关于Netty出现的那些跳不过去的坑以及Netty长连接单独获取服务端数据
本文属于小编纯手打文章,欢迎转载,注明出处即可https://blog.csdn.net/Alex_81D/article/details/80606023其实想了很久才写这篇文章,因为网上关于Netty的例子的确太多,但当初因为Netty获取数据问题困扰了我将近一个月,内心饱受煎熬,先说出自己的问题所在:1.在实时通信时需要做长连接,让他开启一个持续的永不关闭(或者可以手动关闭的)通道...原创 2018-06-07 10:56:51 · 7666 阅读 · 2 评论 -
【面试题】Netty相关
1.BIO、NIO和AIO的区别?BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。伪异步IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。AIO:一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器...转载 2018-05-21 10:41:32 · 232 阅读 · 0 评论 -
Netty相关面试题
1.BIO、NIO和AIO的区别?BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。伪异步IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。AIO:一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器...转载 2018-03-28 16:06:21 · 1258 阅读 · 0 评论 -
Netty传输数据传输API
网络应用程序一个很重要的工作是传输数据。传输数据的过程不一样取决是使用哪种交通工具,但是传输的方式是一样的:都是以字节码传输。Java 开发网络程序传输数据的过程和方式是被抽象了的,我们不需要关注底层接口,只需要使用 Java API 或其他网络框架如 Netty 就能达到传输数据的目的。发送数据和接收数据都是字节码。Nothingmore,nothing less。Netty传输API 传输 A...转载 2018-03-22 11:24:31 · 1088 阅读 · 0 评论 -
网络字节码、本地字节码(大端,小端)
大端模式和小端模式的起源关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始 的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令所有的子民吃鸡蛋的时候,必须 先打破鸡蛋较小的一...转载 2018-03-26 10:00:48 · 621 阅读 · 0 评论 -
【Netty入门】解决TCP粘包/分包的实例
本文转自//blog.csdn.net/baiye_xing/article/details/73189191回顾TCP粘包/分包问题的解决方法1.消息定长2.在包尾都增加特殊字符进行分割3.将消息分为消息头和消息体针对这三种方法,下面我会分别举例验证FixedLengthFrameDecoder类对应第一种解决方法:消息定长(1)例1:服务端代码:public class Server4 { ...转载 2018-03-14 11:23:19 · 406 阅读 · 1 评论 -
Java NIO:NIO概述
Java NIO:NIO概述 在上一篇博文中讲述了几种IO模型,现在我们开始进入Java NIO编程主题。NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题。本文下面分别从Java NIO的几个基础概念介绍起。 以下是本文的目录大纲: 一.NIO中的几个基础概念 二.Channel 三.Buffer 四.Selector 若有不正之处,请多多谅解并欢迎批评指正。 ...转载 2018-03-13 17:27:35 · 165 阅读 · 0 评论 -
Java NIO:浅析I/O模型
也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模型。下面本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Pr...转载 2018-03-13 17:25:02 · 157 阅读 · 0 评论 -
Netty(RPC高性能之道)原理剖析
1,Netty简述Netty 是一个基于 JAVA NIO 类库的异步通信框架,用于创建异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性的网络客户端和服务器端RPC高性能分析,请参考文章“【总结】RPC性能之道 ”特点异步、非阻塞、基于事件驱动的NIO框架支持多种传输层通信协议,包括TCP、UDP等开发异步HTTP服务端和客户端应用程序提供对多种应用层协议的支持,包括TCP私有协议、HTTP...转载 2018-03-13 10:54:26 · 343 阅读 · 0 评论 -
java 客户端与c++服务器端tcp通信 demo
java 客户端代码创建socket绑定 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.InetSocketAddress;import java.net.Socket;publi...转载 2018-03-12 16:42:36 · 659 阅读 · 0 评论 -
小白科普:Netty有什么用?
随着移动互联网的爆发性增长,小明公司的电子商务系统访问量越来越大,由于现有系统是个单体的巨型应用,已经无法满足海量的并发请求,拆分势在必行。在微服务的大潮之中, 架构师小明把系统拆分成了多个服务,根据需要部署在多个机器上,这些服务非常灵活,可以随着访问量弹性扩展。世界上没有免费的午餐, 拆分成多个“微服务”以后虽然增加了弹性,但也带来了一个巨大的挑战:服务之间互相调用的开销。比如说:原来用户下一个...转载 2018-03-12 11:18:31 · 505 阅读 · 0 评论