-
分布式session
一、session是什么?从哪来? 简单来说,session就是浏览器和服务器的一系列交互动作。 为什么会出现session?这是因为HTTP协议的特点-- 无状态性--导致的。 我们通过浏览器上网时,浏览器和服务器间是通过HTTP协议交互。当我们请求页面时, 这一次请求和上一次请求没有任何关系,这就是无状态性。无状态性使得交互更加快速,但也带来一个问题,例如:当我在商品详情页面登陆后,等到了订单…- 10
- 0
-
11. Dubbo原理解析-注册中心之接口介绍
服务注册与发现的中心,服务的提供者将服务发布到注册中心,服务的使用着到注册中引用服务。 Dubbo的注册中心提供了多种实现,其实现是基于dubbo的spi的扩展机制的,使用着可以直接实现自己的注册中心。 @SPI( "dubbo") public interface RegistryFactory { /** * 连接注册中心. * 连接注册中心需处理契约…- 9
- 0
-
27. Dubbo原理解析-管理控制台
Dubbo的dubbo-admin模块是后台管理系统,它的MVC框架式基于webx3的,webx是阿里巴巴开源出来基于页面驱动的mvc框架, webx在阿里内部广泛使用。 Webx是基于turbine发展而来逐渐成为一个功能强大扩展性强的mvc框架,利用约定大于配置原则,虽说使用简单,但是也有很多潜在规则在里面。Webx作为除了阿里以外一个小众框架学习起来还是很有成本的,再说dubbo中又对web…- 5
- 0
-
2. Dubbo原理解析-Dubbo内核实现之基于SPI思想Dubbo内核实现(转)
SPI接口定义 定义了@SPI注解 1public @interface SPI { 2 3 String value() default ""; //指定默认的扩展点 4 5} 6 只有在接口打了@SPI注解的接口类才会去查找扩展点实现 会依次从这几个文件中读取扩展点 META-INF/dubbo/internal/ //dubbo内部实现的各种扩展都放在了这个目录…- 6
- 0
-
zookeeper之分布式锁以及分布式计数器(通过curator框架实现)
有人可能会问zookeeper我知道,但是curator是什么呢? 其实curator是apachede针对zookeeper开发的一个api框架是apache的顶级项目 他与zookeeper原生api相比更加简洁方便使用 特别就是注册watcher这方面.再也不用我们手工去重复注册watcher了.我们只需监听一下然后curator全给我们做了.而且支持递归创建节点 和递归删除节点. 更大的优…- 1
- 0
-
SpringBoot整合Dubbo
前言 Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。 简单来说,Dubbo 用于分布式的场景。 源码 GitHub地址:https://github.com/intomylife/SpringBoot 环境 JDK 1.8.0 + Maven 3.0 + MySQL 5.6.17 SpringBoot 2.0.3 ZooKe…- 5
- 0
-
ZooKeeper分布式锁
方案一: 利用Zookeeper不能重复创建一个节点(临时节点)的特性来实现一个分布式锁 流程: 查看目标Node是否已经创建,已经创建,那么等待锁。 如果未创建,创建一个瞬时Node,表示已经占有锁。 如果创建失败,那么证明锁已经被其他线程占有了,那么同样等待锁。 当释放锁,或者当前Session超时的时候,节点被删除,唤醒之前等待锁的线程去争抢锁。 代码实现: 1package com.cod…- 20
- 0
-
SpringCloud微服务监控——admin(二):admin服务端加入邮件通知
在admin监控的时候,我们希望的是如果有某个服务挂了,那么就发一个邮件,告诉我这个服务挂掉了。 1):在pom文件中,加入包依赖: 1<dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-mail</artifa…- 8
- 0
-
Spring-cloud 微服务架构搭建 02 – config-server 集成git动态刷新配置及安全管理
文章目录 sping-cloud config简介 sping-cloud config 服务特点 Config-Server 服务端搭建 Config-Client 端搭建 动态刷新配置测试 config-server配置RSA加密 1. sping-cloud config简介 微服务的体系中,配置文件的统一管理是非常有必要的,我们需要替代人为手动维护配置文件的责任,因为在大型的微服务体系中我…- 14
- 0
-
微服务架构核心技术九
微服务最经典的三种服务发现机制 下面是图示: 客户端访问后端需要知道IP地址和端口号,以前每一个服务都被固定的部署到某一台机器上,默认端口号和IP地址都是可以通过客户端配置文件读取到的,微服务体系中,服务实例对应的网络地址是在动态变化的. 独立LB: 负载均衡器采用硬件f5或软件nginx负载均衡器 当服务的提供方上线以后,会向运维申请一个域名,运维配置负载均衡器,域名指向后台的服务。 服务消费方…- 8
- 0
-
微服务架构核心(四)- 微服务组织架构
前一篇介绍了微服务的技术架构,这一篇再来介绍微服务的组织架构, 之所以要聊组织架构,是由于著名的康威法则。 设计系统的组织,其产生的架构设计等价于组织间的沟通结构。 康威法则讲的是系统架构需要与开发系统的组织架构相匹配,如果不匹配就会造成沟通成本过高的问题。 例如开发一个单体应用,当参与开发的人员很少时,大家都隶属于一个团队,没有太大的问题。 但是一旦应用的规模很大,需要多个团队开发,大家在组织架…- 13
- 0
-
ASP.NET Core微服务之基于IdentityServer建立授权与验证服务(2)
Tip: 此篇已加入.NET Core微服务基础系列文章索引 上一篇我们基于IdentityServer4建立了一个AuthorizationServer,并且继承了QuickStartUI,能够成功获取Token了。这一篇我们了解下如何集成API Service和MVC Web Application。 一、集成API Service 1.1 添加ASP.NET Core WebAPI项目 新建…- 17
- 0
-
Spring Cloud构建微服务架构:服务容错保护(Hystrix断路器)【Dalston版】
前言 在前两篇《Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)》和《Spring Cloud构建微服务架构:服务容错保护(Hystrix依赖隔离)》中,我们对Hystrix提供的服务降级和依赖隔离有了基本的认识。下面我们将继续说说Hystrix的另外一个重要元件:断路器。 断路器 断路器模式源于Martin Fowler的Circuit Breaker一文。“断路器…- 5
- 0
-
ASP.NET Core微服务之服务间的调用方式(REST and RPC)
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、REST or RPC ? 1.1 REST & RPC 微服务之间的接口调用通常包含两个部分,序列化和通信协议。常见的序列化协议包括json、xml、hession、protobuf、thrift、text、bytes等;通信比较流行的是http、soap、websockect,RPC通常基于TCP实现,常用框架例如dub…- 3
- 0
-
ASP.NET Core微服务之基于Steeltoe使用Eureka实现服务注册与发现
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、关于Steeltoe与Spring Cloud Steeltoe的官方地址:http://steeltoe.io/,其官方介绍如下: Steeltoe is an open source project that enables .NET developers to implement industry standard best …- 13
- 0
-
SOA和微服务架构的区别?
转自知乎:https://www.zhihu.com/question/37808426/answer/93335393 SOA和微服务架构的区别? 微服务架构强调的第一个重点就是业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多个可以独立开发,设计,运行和运维的小应用。这些小应用之间通过服务完成交互和集成。每个小应用从前端web ui,到控制层,逻辑层,数据库访问,数据库都完全是…- 6
- 0
-
Netty源码分析第5章(ByteBuf)—->第4节: PooledByteBufAllocator简述
Netty源码分析第五章: ByteBuf 第四节: PooledByteBufAllocator简述 上一小节简单介绍了ByteBufAllocator以及其子类UnPooledByteBufAllocator的缓冲区分类的逻辑, 这一小节开始带大家剖析更为复杂的PooledByteBufAllocator, 我们知道PooledByteBufAllocator是通过自己取一块连…- 15
- 0
-
Netty源码分析第3章(客户端接入流程)—->第3节: NioSocketChannel的创建
Netty源码分析第三章: 客户端接入流程 第三节: NioSocketChannel的创建 回到上一小节的read()方法: 1public void read() { 2 //必须是NioEventLoop方法调用的, 不能通过外部线程调用 3 assert eventLoop().inEventLoop(); 4 //服务端channel的config 5 final Chann…- 3
- 0
-
Netty In Action中文版 – 第十三章:通过UDP广播事件
Netty In Action中文版 - 第十三章:通过UDP广播事件 本章介绍 UDP介绍 UDP程序结构和设计 日志事件POJO 编写广播器 编写监听者 使用广播器和监听者 Summary 前面的章节都是在示例中使用TCP协议,这一章,我们将使用UDP。UDP是一种无连接协议,若需要很高的性能和对数据的完成性没有严格要求,那使用UDP是一个很好的方法。最著名的基于UDP协议的是用来域名解析的D…- 4
- 0
-
Netty In Action中文版 – 第八章:附带的ChannelHandler和Codec
Netty In Action中文版 - 第八章:附带的ChannelHandler和Codec 本章介绍 使用SSL/TLS创建安全的Netty程序 使用Netty创建HTTP/HTTPS程序 处理空闲连接和超时 解码分隔符和基于长度的协议 写大数据 序列化数据 上一章讲解了如何创建自己的编解码器,我们现在可以用上一章的知识来编写自己的编解码器。不过Netty提供了一些标准的ChannelHan…- 4
- 0
-
Mina、Netty、Twisted一起学(九):异步IO和回调函数
用过JavaScript或者jQuery的同学都知道,JavaScript特别是jQuery中存在大量的回调函数,例如Ajax、jQuery的动画等。 1$.get(url, function() { 2 doSomething1(); // (3) 3}); // (1) 4doSomething2(); // (2) 5 1上面的代码是jQuery的Ajax,由于Ajax是异步的,所以在请求U…- 4
- 0
-
Java NIO框架Netty教程(八)-Object对象传递
说了这么多废话,才提到对象的传输,不知道您是不是已经不耐烦了。一个系统内部的消息传递,没有对象传递是不太现实的。下面就来说说,怎么传递对象。 如果,您看过前面的介绍,如果您善于专注本质,勤于思考。您应该也会想到,我们说过,Netty的消息传递都是基于流,通过ChannelBuffer传递的,那么自然,Object也需要转换成ChannelBuffer来传递。好在Netty本身已经给我们写好了这样的…- 5
- 0
-
Netty高性能之道
作为一个高性能的 NIO通信框架,Netty 被广泛应用于大数据处理、互联网消息中间件、游戏和金融行业等。大多数应用场景对底层的通信框架都有很高的性能要求,作为综合性能最高的 NIO框架 之一,Netty 可以完全满足不同领域对高性能通信的需求。本章我们将从架构层对 Netty 的高性能设计和关键代码实现进行剖析,看 Netty 是如何支撑高性能网络通信的。 RPC 调用性能模型分析 传统 RPC…- 8
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!















