框架
文章平均质量分 89
he_cha_bu
这个作者很懒,什么都没留下…
展开
-
Spring阅读(三)认识模块结构
一:Spring官网文档查看一个好的学习,我认为应该是从文档开始的,所以我们先认识下Spring的官网以及瞧瞧如何查看Spring文档。Spring的官网地址为:https://spring.io/进入后查看到的界面如下,简洁大气:learn->quickstart可以让我们快速开始一个Spring boot项目,按照以下截图的索引去按照说明生成即可。再点开Project->Spring framework,为概述说明,打开页面如下:切换当前页的页面到LEA.原创 2021-11-06 23:35:55 · 355 阅读 · 0 评论 -
soul源码阅读(二十)响应式编程学习
概念了解什么是响应式编程?英文全称叫Reactive Programming,简称PR。百度百科介绍说:响应式编程是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。看完上面的介绍,完全不知道是啥。再来看一个介绍:响应式编程来源于数据流和变化的传播,意味着由底层的执行模型负责通过数据流来自动传播变化。比如求值一个简单的表达式 c=a+b,当 a 或者 b 的值发生变化时,传统的编程范式需要对 a原创 2021-02-04 22:08:55 · 488 阅读 · 0 评论 -
soul源码阅读(十九)如何成为贡献者
如何成为贡献者?整体来说就是在github上找到你要解决的issue,或者创建issue,然后回复以表明当前正在这个issue上工作,然后创建分支,开发后提交pr。提交issue说明在提交issue之前,请经过充分的搜索,确定该issue不是通过简单的检索即可以解决的问题。 查看issue列表,确定该issue不是一个重复的问题。 新建一个issue并选择您的issue类型。 使用一个清晰并有描述性的标题来定义issue。 根据模板填写必要信息。 在提交issue之后,对该issu原创 2021-02-03 22:20:14 · 243 阅读 · 0 评论 -
soul源码阅读(十八)自定义helloworld数据同步
目录自定义说明soul admin自定义soul bootstrap自定义总结自定义说明按照我们前文提到的一个源码的阅读,光光读懂它还不够,需要尝试着去用它,加深对它的理解。前面我们阅读了soul websocket同步和zookeeper同步的方式,今天来自定义一个helloworld同步的方式,本来确实底层想用一个新的工具来进行同步,但一时间没找到合适的,那么底层我们还是选用websocket来进行同步吧,也不太影响我们上手使用去加深对它的理解。soul admin自定义原创 2021-02-04 21:35:51 · 125 阅读 · 2 评论 -
soul源码阅读(十七)三周源码学习的总结分享
总结到今天第三周了,在此先做个简单的总结。回到一开始看自己学习的初衷,写着的是提升自己的coding能力,设计能力,让自己突破一个层级,不再只会简单的一些设计,ctrl+c,ctrl+v,让自己的代码更有灵魂的存在。那么有进步了没?我认为是有的。首先最起码的是已经能够上手阅读一个源码模块,不再感觉那么慌张了。其次通过阅读源码,了解到一些好的设计思想,设计模式,尝试去动手自定义它,活学活用它,那么它就是对自己层次的突破。如何读源码看官方文档,了解项目对于一个新的github项目源码,我们首原创 2021-01-31 14:33:19 · 134 阅读 · 0 评论 -
soul源码阅读(十六)zookeeper bootstrap同步
目录zookeeper watch机制运行bootstrap的zookeeper同步zookeeperbootstrap源码调试及解析总结zookeeper watch机制根据官网我们了解到网关是通过zookeeper的 watch 机制去监听节点信息,并且启动的时候会读取一次全量信息,之后每次增量读取更新,那么我们先来对watch机制做下了解。Watch的整体流程如下图所示,客户端先向ZooKeeper服务端成功注册想要监听的节点状态,同时客户端本地会存储该监听器相关的信息..原创 2021-01-29 23:10:55 · 170 阅读 · 0 评论 -
soul源码阅读(十五)zookeeper admin同步
目录zookeeper admin配置及运行zookeeper admin源码流程跟踪及解析zookeeper admin配置及运行1、启动zookeeper server,以windows为例,在自己zookeeper安装目录下双击zkServer.cmd启动一个server,启动结果如下图所示:2、soul-admin配置zookeeper client连接,pom.xml引入文件如下:application.yml配置参数如下:3、准备就绪,启动SoulAdmi原创 2021-01-29 21:41:30 · 2591 阅读 · 0 评论 -
soul源码阅读(十四)websocket bootstrap同步
目录问题开头bootstrap同步总结问题开头(1)admin跟bootstrap websocket创建连接后,如果在收发消息过程中消息丢失,如何知晓,且通过补救措施,保证消息一致?答:没看到admin端有自动重试的功能啥的,但想起页面有同步功能,那么会不会是页面同步做了这么个补救措施?查看源码如下:果然每次同步都会去发送消息给到soul网关,那么疑问先到此为止,继续看soul网关看看,还有没有其它的机制来保障消息同步的事情。bootstrap同步以上是bo原创 2021-01-28 08:08:10 · 435 阅读 · 0 评论 -
soul源码阅读(十三)websocket admin同步
1、同步流程介绍这是读源码的过程中梳理出来的一张流程图,为websocket同步策略,soul-admin端的源码分析流程图。接下来我们一个个介绍。DataSyncConfiguration初探@Configurationpublic class DataSyncConfiguration { @Configuration @ConditionalOnProperty(name = "soul.sync.websocket.enabled", havingValue =原创 2021-01-27 08:10:24 · 140 阅读 · 0 评论 -
soul源码阅读(十二)数据同步原理初认识
整体对soul插件有了个基本认识后,我们继续来研究下soul的数据同步是如何实现的?原理分析在了解soul数据同步原理前,不妨可以自己先试想下,要实现数据的同步,需要我们做些什么?(1)网关如何从soul-admin去获取插件,规则,流量等数据?是通过什么样的方式去获取的?获取后数据是如何管理的?(2)我们已经了解了插件,也知道插件流量规则是通过在admin页面上配置后动态实时的传给网关,网关根据这些规则来进行匹配路由的,那么admin页面配置后的数据是怎么传到网关的呢?带着这些问题,我原创 2021-01-24 22:14:25 · 345 阅读 · 0 评论 -
soul源码阅读(十一)soul helloworld插件自定义
目录插件职责介绍自定义插件编写soul-plugin-helloworld编写soul-spring-boot-starter-plugin-helloworldsoul-bootstrap配置soul-admin配置测试彩蛋爆料插件职责介绍 插件是 soul 网关的核心执行者,每个插件在开启的情况下,都会对匹配的流量,进行自己的处理。 在soul 网关里面,插件其实分为2 类: 一类是单一职责的调用链,不能对流量进行自定义的筛选。 .原创 2021-01-24 11:23:00 · 1188 阅读 · 3 评论 -
soul源码阅读(十)soul所有插件介绍续
目录hystrix插件sentinel插件resilience4j插件monitor插件waf插件sign插件rewrite插件global插件webclient插件webclientresponse插件tars插件上篇已介绍到ratelimiter插件,并且我们还启动给做了示例,来演示限流的原理,这篇文章我们接着介绍其它的插件。hystrix插件hystrix插件是网关用来对流量进行熔断的核心实现。那么熔断怎么理解?熔断:当这个接口不可用了,然后原创 2021-01-23 18:32:01 · 839 阅读 · 0 评论 -
soul源码阅读(九)soul所有插件介绍
soul所有插件列表context_path插件 divide插件 dubbo插件 springcloud插件 sofa插件 ratelimiter插件 hystrix插件 sentinel插件 resilience4j插件 monitor插件 waf插件 sign插件 rewrite插件 global插件 webclient插件 webclientresponse插件 tars插件介绍每个插件context_path插件什么是context_path,就是用户原创 2021-01-23 14:07:06 · 2055 阅读 · 0 评论 -
soul源码阅读(八)插件流程梳理
目录背景介绍网关启动插件的工作流程客户端请求网关后各插件的处理流程总结背景介绍前面三篇文章soul源码阅读(五)Spring Cloud应用示例运行soul源码阅读(六)Spring Cloud应用示例运行续soul源码阅读(七)Spring Cloud应用示例运行续2我们通过以下两个问题:一:{"code":-107,"message":"Can not find selector, please check your configuration!","data原创 2021-01-22 08:21:05 · 1567 阅读 · 1 评论 -
soul源码阅读(七)Spring Cloud应用示例运行续2
好咧,咱们继续上篇文章运行Spring Cloud应用示例出现的问题,{"code":-106,"message":"Can not find url, please check your configuration!","data":null}。全文搜索关键字Can not find url, please check your configuration,凭已有的经验(啥经验?读一遍前两篇Spring Cloud的文章,并试着debug看看,就有这个经验了。)定位到org.dromara.soul.原创 2021-01-21 08:12:43 · 1710 阅读 · 0 评论 -
soul源码阅读(六)Spring Cloud应用示例运行续
接着上篇文章调试Spring Cloud留下的问题{"code":-107,"message":"Can not find selector, please check your configuration!","data":null},我们继续。学习java8 stream从昨天留下的问题,我们定位到下面这段代码匹配返回null,在今天开始前,我们不妨细细来了解下这几行代码做了什么事情?首先selectors.stream()的用法,未曾去了解下,网上搜索了解下,这是什么写法?什么是 St原创 2021-01-20 08:16:53 · 1577 阅读 · 0 评论 -
soul源码阅读(五)Spring Cloud应用示例运行
目录架构认识了解EurekaEureka入门使用启动Spring Cloud示例架构认识一个http请求到soul网关,soul网关请求转发到Spring Cloud。Spring Cloud提供服务应用启动后会将配置和元数据写入到soul admin,同时将服务注册到注册中心Nacos,注册中心可以使用Eureka、Nacos都是可以的。了解Eureka本篇文章我们将使用Eureka 作为 Spring Cloud 应用注册中心,首先我们先来了解下它。Eurek原创 2021-01-19 08:17:34 · 729 阅读 · 1 评论 -
soul源码阅读(四)Sofa RPC应用示例运行
Sofa RPC简介Sofa RPC是一个高可扩展性、高性能、生产级的Java RPC框架,由蚂蚁进入开源,和阿里巴巴另外一个比较出名的RPC框架Dubbo类似,其实sofa-rpc提供的dubbo协议最终就是使用的Dubbo的功能(sofa-rpc直接将dubbo的jar引入)。在蚂蚁金服Sofa RPC已经经历了十多年及五代版本以上的发展。Sofa RPC致力于简化应用之间的RPC调用,为应用提供方便透明、稳定高效的点对点远程服务调用方案。为了用户和开发者方便的进行功能扩展,SofaRPC提供了丰富原创 2021-01-18 08:22:23 · 376 阅读 · 0 评论 -
soul源码阅读(三)接入Dubbo应用示例运行
上篇文章,我们已经运行过soul-examples-http示例,对soul的基本使用有了一个基本的了解,本次我们不妨再来熟悉下比较热门的微服务框架Dubbo如何整合使用。架构介绍先来看一下上面的架构图,业务端请求到soul网关,网关会获取读取到soul-admin的注册的配置信息,然后拿到配置信息去dubbo服务中心获取对应的服务,并路由转发请求服务到后台服务器。而后台dobbo服务启动后将后写入配置和元数据到soul-admin控制台进行管理,并将服务注册到服务中心。示例代码阅读原创 2021-01-16 17:41:23 · 2205 阅读 · 5 评论 -
soul源码阅读(二)http入门示例运行
项目模块结构在了解怎么使用一个项目前,不妨我们先来过一下整理项目的模块结构soul-admin : 插件和其他信息配置的管理后台 soul-bootstrap : 用于启动项目,用户可以参考 soul-client : 用户可以使用 Spring MVC,Dubbo,Spring Cloud 快速访问 soul-common : 框架的通用类 soul-dist : 构建项目 soul-metrics : prometheus(普罗米修斯)实现的 metrics soul-plugin原创 2021-01-16 11:04:24 · 253 阅读 · 0 评论 -
soul源码阅读(一)环境搭建
在开始前,先叨叨几句先。所谓万事开头难,系统性,完整性的去阅读一个源码框架已经难了我有几年了,一直都未去实践它。今天在一群优秀大佬们影响下,我要正式开始阅读了,在此先感谢下各位大佬们。选用的学习的框架是soul,那么soul是什么呢?ok,我也还不知道,通过以下两个链接咱们可以有个初步了解先:(1)http://www.iocoder.cn/Soul/install/(2)https://dromara.org/zh-cn/docs/soul/soul.html简单来说,soul是作为一个网原创 2021-01-14 21:55:30 · 614 阅读 · 3 评论 -
shiro的学习笔记
1、shiro的原理: shiro是一个安全框架,主要功能有认证 - 用户身份识别,授权 - 访问控制,密码加密 - 保护或隐藏数据防止被偷窥,会话管理 - 每用户相关的时间敏感的状态,一般登录过程中都需要记住某某用户登录的信息,判断某某用户是否已经登录,登录过的才可以访问主页信息,用户需要认证且查询它是否拥有哪些权限访问页面,保存用户的密码在数据库最好是应该是密文方式存储,这样原创 2016-10-21 00:17:45 · 354 阅读 · 0 评论 -
spring+struts2+hibernate的学习笔记
由于意识到技术这东西一旦不用是很容易忘记的,所以特为自己写下这篇学习笔记,希望今后如果真忘记了,可以看到自己写下的笔记快速的记起某些东西而能够使用它。 一:先谈谈spring 1、简易介绍下原理: spring可以把它通俗易懂的认为它是管理框架的一个框架,框架的核心是IoC(控制反转)和AOP(面向切面编程)。IoC的出现是为了能够将所有的对象统原创 2016-10-20 23:17:56 · 334 阅读 · 0 评论