- 博客(163)
- 资源 (10)
- 收藏
- 关注
原创 Spring Cloud Gateway——实现路由动态修改
动态路由修改当我们看了Spring Cloud Gateway的示例代码,和一些网上的入门教程之后,会发现大多是Spring Cloud Gateway — 网关基本功能API暴露说道的三种方法:1.本地配置文件;2.java代码builder.routes().route().build(); 3.服务自动发现。服务自动发现方法能够做到后端服务ip变化时自动更新,能够做到上游服务的动态。另外两种方式都是纯静态,需要重新启动网关服务修改才能生效。上述方式都不能完全满足生产需要,一般来说作为生产上的通用
2020-06-27 23:06:17 4203
原创 Spring Cloud Gateway——路由分析
概述Spring Cloud Gateway的路由里包含了API的转发逻辑、处理切面,是Spring Cloud Gateway最最关键的组件。在Spring Cloud Gateway里有两种添加路由的方式:一种是properties配置方式,一种是Java代码配置方式。一起看下,Spring Cloud Gateway路由配置信息转化成路由对象,并且和RoutePredicateHandlerMapping建立关联关系的过程。Gateway初始化路由初始化RouteDefinitionRou
2020-06-18 13:44:51 1592
原创 Spring.Cloud Gateway——架构分析
Spring WebFlux架构Spring Cloud Gateway是在Spring WebFlux基础上构造的新一代网关系统。Spring WebFlux和Spring MVC架构和API上几乎完全一致,只不过Spring WebFlux底层使用的是响应式接口,Spring MVC是构建在Servlet之上的阻塞式编程架构。这里的阻塞式和非阻塞式不仅是我们常说的Web服务器I/O,Spring WebFlux构建在Reactor模型之上,Reactor是一种全域的响应式编程模型。以上是Sprin
2020-06-14 22:23:58 1348
原创 Spring Cloud Gateway — 网关基本功能API暴露
API网关API网关是一种设计模式,一种在微服务体系下的经典构件。要了解最新API网关模式可以参考敖小剑写的《Service Mesh和Api Gateway关系深度探讨》早期SOA阶段,也是有API网关的,比如开放平台接口包含了一系列功能,比如淘宝提供了用户授权能力、电商能力、支付能力、快递能力、发票能力、商品管理能力等很多能力,也必然是有多个SOA服务提供,都从统一的网关服务https://eco.taobao.com/router/rest(这是淘宝API的最新接口,不是早期的接口)暴露出来的。
2020-06-13 16:30:35 2432
原创 Spring Cloud Gateway - kotlin支持
前言上一篇我们已经处理好了maven依赖的问题,而且项目代码里边的单元测试也可以正常调试起来了。但是,当我们打开sample里边的GatewaySampleApplication.java想运行起来的时候,发现Eclipse提示了一个错误,找不到AdditinalRoutes.java类。通过搜索发现,这个类是在kotlin目录下的,猜测是没有安装kotlin相关环境的缘故。Eclipse安装kotlin插件按照kotlin文档看,要支持kotlin需要给Eclipse安装kotlin插件,打开
2020-05-16 18:32:47 649
原创 Spring Cloud Gateway 源代码初始化构建
参与开源项目,看开源代码是很多程序员特别想做的一件事情。但是往往在下载代码,打开项目的第一刻就严重碰壁,无法正常编译运行。作者把Spring Cloud Gateway 源代码学习时遇到的编译问题解决方法分享出来,以为借鉴和探讨。
2020-05-10 19:04:38 910
原创 RFC791(IP协议)——翻译后记
首先需要说明一下,前边的4份博客合起来正好包含了RFC791的全部内容。这里的全部不包含附录和分片说明的示例部分。整个翻译过程,跨过的时间比较长。中间一度想放弃,但是咬咬牙又重新开始。在翻译的过程中,发现了一个比较好的方式,就是碎片时间翻译法。RFC791的第二章,第三章基本是在地铁里站着的时候,或者是在厕所里蹲着的时候一点点翻译的。每次翻译几段,甚至一小段。然而,每次感觉都特别好:一是空闲...
2019-03-26 13:11:08 816
翻译 RFC791(IP协议)——协议格式
3.1 协议头格式先看一下协议头的全景图,每一个竖线代表一个字节Version: 4比特标记当前报文使用的协议格式,本文件描述的是第4版本。IHL:4比特表示请求头32比特字长度(单位是32比特),它的计算是从第一个字节开始。一个正确的包头最小长度的5。Type of Service:8比特标记发出服务希望的传输质量的参数。这些参数用来指引网络进行包传输时实际参数的选择。某些网络提...
2019-03-09 20:00:30 2485
翻译 RFC791(IP协议)——概述
2.概述2.1 和其他协议的关系下图说明了IP协议再整个协议分层中所处的位置:IP协议一侧对接的是高层的主机对主机类型的协议,另一侧对接的是本地网络协议。这里的“本地网络协议”可以是建筑内的小型网络,也可以是像阿帕网的大型网络。2.2 操作模型应用程序间传输数据报的操作模型可以用如下的场景来描述(假设数据传输中间会经过一个网关):发报应用程序准备好数据,调用本地IP模块把数据以数据报...
2019-02-15 22:48:20 5274
翻译 RFC791(IP协议)——引言
1.1 动机IP协议设计的目标是为基于分组交换计算机通信网络的互联系统提供支持,这类系统曾经被称为多类型网络系统(catenet)。IP协议实现在源和目标之间传输数据块,也就是我们常说的数据报。这里的源和目标是通过固定长度地址标识的主机。对于“小包”网络上的数据传输,必要的时候,IP协议提供长数据包的分片和重组支持。1.2 范围IP协议有自己的专门的职责范围,它值提供网络物联系统上原地址到目...
2018-10-17 23:09:04 1086 1
翻译 RFC791(IP协议)——序
序本文档用来详细描述国防部标准IP协议(the DoD Standard Internet Protocol)。本文档基于前6版阿帕网(ARPA)IP协议规范编写而成,并且大量吸收了他们的内容。本文档的完成得益于很多人在思想和文字方面的贡献(这里不进行逐一致谢)。本版本修订了IP协议的以下内容:寻址(addressing)、错误处理(errorhandling)、协议选项(option cod...
2018-10-13 00:04:49 792
翻译 RFC791(IP协议)
目录:序引言1.1 动机1.2 范围1.3 接口1.4 操作综述2.1 关联协议2.2 操作模型2.3 方法说明2.4 网关详解3.1 IP头格式3.2 讨论3.3 接口附录1: 示例和场景附录2: 数据传输顺序名词释义引用...
2018-10-12 23:43:32 3226
原创 记一次逆向追踪请求ip的经历
@TOC事发某日下午,部门使用的测试环境出现问题,所有集成测试case都执行失败。查询测试用服务器发现是磁盘已满,造成请求失败。应急处理发现磁盘空间问题后,首先想到的是程序日志过大,因为这台机器上部署了部门的几十个应用,以前也出现过日志造成磁盘空间不足的问题。所以,迅速执行日志删除,发现集成测试case都可以正确执行了。但是过了不一会,发现某些应用报服务已宕机。再去服务器看,磁盘空间又满...
2018-10-10 21:55:08 5281
原创 RSA加密——go语言版
RSA加密——go语言版源起公钥和私钥格式关系公钥私钥go语言生成公私钥go加载私钥pkcs1pkcs8go加载公钥go进行rsa加密和验签openssl生成的公私钥去掉私钥的密码openssl公钥和openssh公钥互转参考源起在做rsa加密验签的过程中遇到了一些问题,在对整个rsa体系不够了解的情况下花了很多的时间去尝试,但总是不能成功。在尝试和搜索方案的过程中,不断的发现原来我们平时对...
2018-10-07 14:48:20 6142
原创 多才多艺的配置更新工具——confd
概述当系统变的复杂,配置项越来越多,一方面配置管理变得繁琐,另一方面配置修改后需要重新上线同样十分痛苦。这时候,需要有一套集中化配置管理系统,一方面提供统一的配置管理,另一方面提供配置变更的自动下发,及时生效。说道统一配置管理系统,大家应该比较熟悉,常见的:zookeeper、etcd、consul、git等等。上述的集中配置中心使用的时候,部署图大致是这样的:...
2018-08-26 15:54:37 1291
原创 细说Java中的字符和字符串(二)
我们上次在《细说Java中的字符和字符串(一)》说了Java中char和中文字符之间的关系,说明了char能不能存储一个中文字符,以及如何判断Java的字符串是否包含中文字符。 这次再看一下MySQL数据库中VARCHAR(N)中的N表示什么,什么会限制N的大小。然后,从Java的String源代码分析一下中文字符在Java字符串里是如何存储的。VARCHAR(N)中的N代表什么?和第一...
2018-06-24 13:12:56 988
原创 细说Java中的字符和字符串(一)
一道经典问题Java里的char类型能不能存储一个中文字符?对于这道题,绝大多数的答案都是“可以存储”。给出的原因包括: 1. java中的char是unicode存储,unicode编码字符集中包含了汉字,所以可以存储中文; 2. java内部其实是使用的UTF-16的编码,所以是支持大部分非生僻汉字的; 3. 采用Unicode编码集,一个char占用两个字节,而一个中文字符...
2018-06-14 10:01:22 6260
原创 Web项目切换到全注解的一次实践
xml配置 or 注解配置?现如今,我们后端的开发往往追求敏捷开发,快速迭代,这个类型的系统对内部的灵活配置的需求往往不是特别高。很多时候一周基本要发一次版本,多的时候一周多次也比较常见。容器和自动化部署,也给发布新版本带来了很大的便利,如果有什么修改,可以在几分钟内完成一次版本发布,完成一次修改。所以,在互联网系统里边,随时可修改的xml灵活配置需求,往往变得不是那么强烈。而且,在系...
2018-06-05 22:53:00 863
原创 gson线上环境解析日期时报错JsonSyntaxException
遇到问题:问题发生在新功能上线的那一天,所有的测试工作都测试完了,测试还挺顺利,比以往结束的早很多,正高高兴兴的聊着今天可以早回家了。正高兴着往ST环境部署,部署上去前端一测试却返回了服务器异常,服务器异常信息是这样的: 是用了gson解析json串,解析过程中出现了JsonSyntaxException,也给出了待解析的数据值,是一个常见的日期字符串“2018-03-14 00...
2018-03-31 12:29:56 3690 1
原创 Spring in Action读书笔记(三)——容器和依赖注入
容器java程序员都知道IOC和AOP是Spring的两大核心概念。IOC是控制反转,也就是通过注入的方式把原本由类自己完成的内部依赖对象实例化这个行为转交给Spring的容器去完成。IOC之后的一个很大的好处就是:代码里消除了无处不在的new关键字创建对象实例,只定义一个接口的引用,从而做到了面向接口以及隔离实现,也就做到了类和类之间的解耦合。在注入这一点上,Spring提供了注解、...
2018-03-21 23:53:56 619 1
原创 Spring in Action读书笔记(二)——三大特色
spring的三大核心特色书的第一章内容的概括性很高,从spring的本质核心触发,点名了spring的三大优点:依赖注入(IOC)、应用切面(AOP)、使用模板。依赖注入依赖注入把原本需要对象自己管理和创建需要使用的其他类的实例这种传统方式,转变成了由spring的容器就行创建和管理,原来的类只需要依赖于接口。所以,依赖注入就有了另外一个名字——控制反转,即创建和管理依赖实例的权...
2018-03-20 00:24:25 522
原创 关于#和$的思考
#和$符号在Mybatis和Spring中出现的频率都很高。在Mybatis里#{}是安全的取值方式,会以PreparedStatement的参数值方式解析到sql语句,能够防止sql注入攻击;${}方式是不安全的取值方式,它会把值直接拼接到sql语句,存在sql注入攻击的风险。spring里的${}代表注入一个配置文件里的值;#{}注入一段表达式(SpEL表达式)的计算结果。对于#和...
2018-03-19 23:50:15 460
原创 Spring in Action读书笔记(一)——开篇
《Spring 实战》这本书买了好久了,印象是在去年4·22书香节大促买的。是该多读书,清理一下书架,然后准备买新书的季节了。今天第一次拿起来,打开包装的塑料封皮。封面画质和颜色搭配给我特别的信任感和稳定感,书页的质量也特别好,是那种轻薄,拿在手里有种透气感的纸型,捧在手里比较容易让你不太在意这是一本600页的大部头。今天只是大概看了下整体章节内容,总体来说包含的面不是太广,或许是sp...
2018-03-06 00:08:48 832
原创 以java命令为例解析linux命令行调用语句
后台运行命令先给出来几个执行java命令行语句的例子:1.java -jar gs-spring-boot-docker-0.1.0.jar2.java -jar gs-spring-boot-docker-0.1.0.jar &3.nohup java -jar gs-spring-boot-docker-0.1.0.jar4.nohup java -jar gs-spring-b
2018-01-27 23:08:49 1178
原创 Spring和MyBatis的四种结合方式
讲述了四种MyBatis-Spring的结合方式,以及我们现在常用和最好用的结合方式。看了这篇文章,你就会明白网上的哪些教程是好的,哪些是过时的。
2017-12-31 20:19:21 1039
原创 MyBatis用法——从纯MyBatis到MyBatis-Spring
描述从没有spring到有spring的演变过程中mybatis用法的演变。
2017-12-31 13:58:17 615
原创 细解spring mvc架构
概述网上关于spring mvc的架构解析类的文章已经很多了,可以说是多如牛毛,但是为什么这里还要补充这么一篇呢?这一篇实际上也没有太多的新内容,但是也包含一些新内容。描述的角度上也稍微有一些区别,而且关注了一点其他文章没有关注的问题点和新内容,如果有时间不妨一看。
2017-12-09 10:47:24 531
原创 spring-cloud中config配置中心使用(基于eureka的高可用)
spring cloud config server基于eureka的高可用实现,同时介绍了高可用的几种实现方式。
2017-11-19 21:07:21 4275 1
原创 spring-cloud中config配置中心使用(基本使用)
config server的基本用法,注意其中git仓库文件的说明,以及spring cloud配置信息加载顺序的说明。
2017-11-19 20:28:46 3599
原创 我们有必要花时间了解spring boot吗?
spring这么好,为什么还要接触spring boot,是多次一举和无关痛痒吗? 很可能不是的!!
2017-08-13 00:26:22 6999
dubbo-demo
2017-04-05
tomcat跨域访问支持Jar包
2015-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人