粘包和半包有了解过吗?netty是如何解决这个问题的
[#](#一-什么是粘包、半包) (一)什么是粘包、半包 {#一-什么是粘包、半包} ------------------------------------------ 在实际的网络开发中或者在面试中,最开始使用TCP协议时经常会碰上粘包和半包的情况,因此我们有必要了解一下什么是粘包,什么是半包,以及如何去解决。 **粘包**:故名思意就是客户端和服务端之间发送的数据包粘...
[#](#一-什么是粘包、半包) (一)什么是粘包、半包 {#一-什么是粘包、半包} ------------------------------------------ 在实际的网络开发中或者在面试中,最开始使用TCP协议时经常会碰上粘包和半包的情况,因此我们有必要了解一下什么是粘包,什么是半包,以及如何去解决。 **粘包**:故名思意就是客户端和服务端之间发送的数据包粘...
[#](#一-什么是netty) (一)什么是netty {#一-什么是netty} ------------------------------------------ Netty是一个**异步的,基于事件驱动的网络应用框架** ,用于快速开发可维护、高性能的**网络服务器和客户端** 。Netty的应用十分广泛,可以说主流的框架中,如果有网络方面的需求,一般用的都是net...
[#](#一-引言) (一)引言 {#一-引言} ------------------------ 在单体环境中,遇到临界资源的时候我们会使用Synchronized或者RetreenLock在调用临界资源前上锁。但是在分布式的环境下,锁住单体资源就不起作用了,这个时候就需要用到分布式锁。分布式锁的原理就是借用外部的一个系统来充当锁的作用,比如Mysql、Redis、Zook...
[#](#一-什么是微服务) (一)什么是微服务? {#一-什么是微服务} ------------------------------------- 在了解什么是SpringCloud之前,我们有必要去了解一下什么是微服务。在传统的项目中,我们都是把所有的代码都放在一个单体应用中,这种方式配置方便,可以很好的运行部署,但是随着项目越来越大,这个单体应用就会越来越臃肿,再加上...
[#](#一-什么是服务注册中心) (一)什么是服务注册中心 {#一-什么是服务注册中心} --------------------------------------------- 服务注册中心是微服务架构中非常重要的一个组件,在微服务架构中起到了协调者的作用,一般包含下面几个功能: 服务发现:保存服务提供者和服务调用者的信息;服务调用者订阅服务提供者的信息 服务配置:服...
[#](#一-ribbon概述) (一)ribbon概述 {#一-ribbon概述} ------------------------------------------ Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求...
[#](#一-feign概述) (一)Feign概述 {#一-feign概述} --------------------------------------- Feign是Netflix开发的声明式,模板化的Http客户端,Feign可以帮助我们更加便捷的调用HTTP API。SpringCLoud对Feign进行了增强,使得Feign支持SpringMVC注解,并整合Rib...
[#](#一-hystrix的介绍) (一)Hystrix的介绍 {#一-hystrix的介绍} ------------------------------------------------ 微服务的调用有时候会存在连环调用,即微服务A调用微服务B,微服务B调用微服务C。此时当微服务C不可用的时候,所有的请求都会阻塞到微服务B,可能会导致微服务B的资源耗尽,进而使得微服务...
[#](#一-什么是微服务网关) (一)什么是微服务网关 {#一-什么是微服务网关} ------------------------------------------ 后端写完所有的微服务之后,最终是要交给前端去调用。我们都知道每个微服务都有各自的端口号,如果前端直接通过IP加端口的方式去调用微服务会很麻烦。如果想对请求增加限制也会变得十分困难。这个时候微服务网关就出现了...
[#](#一-前言) (一)前言 {#一-前言} ------------------------ 如今微服务架构已经被炒的如火如荼,互联网公司况且不说,连我接触的一个国企现在都开始往微服务分布式架构发展。因此,我会通过最近几篇博客介绍目前比较流行的一些微服务组件,其实微服务并没有那么难。如果在跑项目过程中,想要知道整个项目的所有依赖pom文件或者任何疑问,**直接联系我即可...