微服务系列(六)探究Spring Cloud服务调用

微服务系列(六)探究Spring Cloud服务调用 大纲 分布式架构的“骨架” 基于http协议的通讯模式 RestTemplate与Feign 新的选择WebClient 从Spring源码中我看到了什么 分布式架构的“骨架” 分布式架构是由一个个组件组装而成,各司其职,对外提供服务。...

2019-07-30 20:27:21

阅读数 27

评论数 0

微服务系列(五)解读分布式锁

微服务系列(五)解读分布式锁 首先,锁是一个熟悉的字眼,在单机应用中,我们常常使用J.U.C等并发工具类来控制多线程读写问题,也会使用ReentrantLock/ReentrantReadWriteLock或是synchronized关键字来给方法或代码块加锁,从而达到同样的目的。 我理解的锁...

2019-05-31 11:14:06

阅读数 69

评论数 0

微服务系列(四)单点登陆问题

微服务系列(四)单点登陆问题 分布式系统中单点登陆问题是一个非常常见的问题,开发者经常需要面临不同系统或模块需要不同的认证,而某些场景下,用户只需要一次登陆,即可访问跨模块、系统的服务。 ps.分享基于spring boot2.0.x、spring cloud Finchley.SR2 一次O...

2019-05-31 11:13:57

阅读数 71

评论数 0

微服务系列(三)如何选择配置中心

微服务系列(三)如何选择配置中心 前面通过源码分析过了注册中心的实现,本文继续思考如何选择【微服务基础设施组件:配置中心】 对于注册中心,要对于项目特性,并结合注册中心的功能和实现特性来决定匹配度,那么对于配置中心,我们最应该了解的则是其配置信息的组织模式(决定系统的扩展性、可维护性等)、数据的...

2019-05-31 11:13:48

阅读数 103

评论数 0

微服务系列(二)(5) Nacos源码分析

微服务系列(二)(5) Nacos源码分析 Nacos (official site: http://nacos.io) is an easy-to-use platform designed for dynamic service discovery and configuration and...

2019-05-31 11:13:38

阅读数 236

评论数 0

微服务系列(二)(4) ZooKeeper源码分析-part-3

微服务系列(二)(4) ZooKeeper源码分析-part-3 本文将继续探究以下内容:Zookeeper Client发送命令链路追踪,Zookeeper的事务请求原理,Watcher监听原理 使用ZooKeeper Client的小伙伴应该熟悉这个类org.apache.zookeepe...

2019-05-31 11:13:27

阅读数 85

评论数 0

微服务系列(二)(3) ZooKeeper源码分析-part-2

微服务系列(二)(3) ZooKeeper源码分析-part-2 前文跟踪源码分析了ZooKeeper Server的初始化过程,通讯原理及选举机制,本文将继续进入源码,探究ZooKeeper的存储机制。 通过前文的链路追踪,可以知道ZooKeeper的存储核心类是org.apache.zoo...

2019-05-31 11:13:20

阅读数 50

评论数 0

微服务系列(二)(2) ZooKeeper源码分析-part-1

微服务系列(二)(2) ZooKeeper源码分析-part-1 本节开始进行ZooKeeper的源码分析,针对Zookeeper Server的初始化过程,通讯原理及选举机制做源码层面上的介绍 作为ZooKeeper的使用者,应该知道如何部署和启动Zookeeper吧 看源码的入口就从这里作...

2019-05-31 11:13:12

阅读数 66

评论数 0

微服务系列(二)(1) Eureka源码分析

微服务系列(二)(1) Eureka源码分析 关于eureka的使用,就不做介绍了,不熟悉的可以参考官方文档 引入依赖,修改好配置文件,在主类上加上注解@EnableEurekaServer,启动服务,一个简单的eureka搭建好了。 先看看@EnableEurekaServer @Target(...

2019-05-31 11:13:01

阅读数 89

评论数 0

微服务系列(二)探究不同注册中心的底层原理

微服务系列(二)探究不同注册中心的底层原理 市面上常见的注册中心有 eureka、zookeeper、consul,又由于笔者有关注目前还在0.8.0版本的nacos,本文就针对这四个注册中心,从底层实现来探讨它们的适用场景,并尝试寻找一些可扩展的入口,也便于开发者在其上进行改造和定制化。 前...

2019-05-31 11:12:50

阅读数 122

评论数 0

微服务系列(一)聊聊服务网关

微服务系列(一)聊聊服务网关 前几年随着分布式架构的演变,微服务开始兴起,自然也产生了一系列支持微服务的框架,例如本文要聊到的Spring Cloud。 Spring 相信做Java的小伙伴们已经耳熟能详了,也正是应该这个Spring生态获得广大的关注,在Spring之上开发的新兴框架如Spri...

2019-05-31 11:12:12

阅读数 229

评论数 1

【分布式事务】Spring Cloud集成fescar的示例demo

spring-cloud-fescar spring cloud集成fescar的demo工程 准备工作 阅读官方文档Quick Start,并成功启动fescar-server 传送门 初始化demo数据库 工程路径下fescar_demo.sql文件 测试效果 修改demo工...

2019-03-12 20:10:46

阅读数 1862

评论数 0

Dubbo系列(四)源码分析之服务调用

Dubbo系列(四)源码分析之服务调用 前文介绍了Dubbo中服务暴露的过程,本文继续介绍服务调用的过程,让一次服务调用过程连接起来理解。 如果读者是第一次阅读本文且对Dubbo SPI没有了解,可以先阅读《Dubbo系列(二)源码分析之SPI机制》、《Dubbo系列(三)源码分析之服务暴露》。...

2019-01-15 09:47:46

阅读数 55

评论数 0

Dubbo系列(三)源码分析之服务暴露

Dubbo系列(三)源码分析之服务暴露 前文介绍了Dubbo SPI机制,相信读者应该具备Dubbo中SPI实现类跟踪的能> 力,那么在本文中将会直接跳过SPI分析的过程。 如果读者是第一次阅读本文且对Dubbo SPI没有了解,可以先阅读《Dubbo系列(...

2019-01-15 09:45:44

阅读数 324

评论数 0

Dubbo系列(二)源码分析之SPI机制

Dubbo系列(二)源码分析之SPI机制 在阅读Dubbo源码时,常常看到 ExtensionLoader.getExtensionLoader(*.class).getAdaptiveExtension(); ExtensionLoader.getExtensionLoader(*.class...

2019-01-15 09:43:58

阅读数 178

评论数 0

Dubbo系列(一)dubbo介绍和入门

Dubbo系列(一)dubbo介绍和入门 学习Dubbo 之前,先了解一下这几个问题: Dubbo是什么? 互联网发展的背景 Dubbo介绍 Dubbo的优势在哪里? 了解了dubbo之后,让我们从零搭建一个简单的dubbo项目。 Dubbo是什么 官网介绍 Apache Dubbo (i...

2019-01-15 09:42:39

阅读数 114

评论数 0

【缓存一致性】关于数据库与缓存的一致性问题的分析和解决方案

想起遇到过的缓存与数据库的问题和一些思考,在这里做一些系统性的分析和总结,讨论一下对数据库与缓存的一致性问题及解决方案。 1,先更新数据库再更新缓存 可能出现的问题: a). A更新数据库(或发现缓存失效而查询数据库) b). B更新数据库 c). B更新缓存 d). A更新缓存(覆盖了B的...

2018-11-17 19:16:12

阅读数 168

评论数 0

【java中间件】自己动手实现一个属于自己的mydubbo

摘要 最近在学习zookeeper的选举机制和使用、java如何调用及应用场景,dubbo理所应当的进入了我的视野,作为阿里开源的强大中间件dubbo,我们也应该了解其基本原理和应用场景。 RPC,远程服务调用,dubbo作为服务调用的中间人,为服务消费者和服务提供者来提供服务,首先,要知道d...

2018-09-05 19:52:27

阅读数 176

评论数 0

【java基础】Integer的自动装箱拆箱与缓存机制

import java.lang.reflect.Field; /** * @author XCXCXCXCX * @date 2018/8/31 * @comments */ public class Test { public static void main(String[...

2018-08-31 17:08:35

阅读数 297

评论数 0

【java反射/注解】简单的反射与注解实践

简单的反射与注解实践 反射的使用 指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法.这种动态获取信息,以及动态调用对象方法的功能叫java语言的反射机制。 ps.JCA.Java Security能控制反射访问范围 反射常...

2018-08-04 12:22:47

阅读数 122

评论数 0

提示
确定要删除当前文章?
取消 删除