2021年7月1日
摘要:
1 响应式编程之道 1.1 什么是响应式编程? 在开始讨论响应式编程(Reactive Programming)之前,先来看一个我们经常使用的一款堪称“响应式典范”的强大的生产力工具——电子表格。 举个简单的例子,某电商网站正在搞促销活动,任何单品都可以参加“满199减40”的活动,而且“满500包
阅读全文
posted @ 2021-07-01 14:52
duanxz
阅读(308)
推荐(0)
2021年6月29日
摘要:
可以使用Spring RestDocs生成Spring Cloud Contract DSL文件和文档。如果您将其与Spring Cloud WireMock相结合,那么您将获得合同和存根。 为什么要使用此功能?社区中的一些人问关于他们希望转移到基于DSL的合同定义的情况,但他们已经很多Spring
阅读全文
posted @ 2021-06-29 16:07
duanxz
阅读(201)
推荐(0)
2021年6月28日
摘要:
一、领域专用语言简介 1.1、什么是 DSL DSL(Domain Specified Language)领域专用语言。要理解什么是领域专用语言,需要先了解其创建背景。即为什么会诞生这样一种事物,其发明的目的是为了解决什么问题。 总的来说 DSL 是为了解决系统(包括硬件系统和软件系统)构建初期,使
阅读全文
posted @ 2021-06-28 15:05
duanxz
阅读(516)
推荐(0)
2021年6月22日
摘要:
调用方和服务方约定好接口,生成映射文件,这个文件即可以用于客户端模拟服务,也可以用于服务方集成测试,这样双方开发也好、集成也好都会方便很多。下面我们来研究一下 Spring Cloud Contract,它就是基于 WireMock 实现了契约式的测试,上文中双方约定好的接口,其实就是双方的契约。
阅读全文
posted @ 2021-06-22 19:18
duanxz
阅读(2461)
推荐(0)
摘要:
1、java.lang.IllegalStateException: You haven't configured a MockMVC instance. You can do this statically 在服务提供方,执行gradle test后,契约的validate失败,错误信息如下图:
阅读全文
posted @ 2021-06-22 18:20
duanxz
阅读(304)
推荐(0)
摘要:
SHILI: org.springframework.cloud.contract.spec.Contract.make { request { method 'PUT' url '/fraudcheck' body(""" { "clientId":"1234567890", "loanAmoun
阅读全文
posted @ 2021-06-22 15:33
duanxz
阅读(283)
推荐(0)
2021年6月8日
摘要:
什么是CICD CI / CD的采用改变了开发人员和测试人员如何发布软件。 最初是瀑布模型,后来是敏捷开发,现在是DevOps,这是现代开发人员构建出色的产品的技术路线。随着DevOps的兴起,出现了持续集成(Continuous Integration)、持续交付(Continuous Deliv
阅读全文
posted @ 2021-06-08 17:15
duanxz
阅读(601)
推荐(0)
posted @ 2021-06-08 14:39
duanxz
阅读(0)
推荐(0)
2021年6月3日
摘要:
第三方支付机构是指非金融的机构在取得了人民银行颁发的《支付业务许可证》,可以从事相关支付业务。成为第三方支付机构需要满足准入和监管条件,必须拥有安全、规范、能独立完成支付业务处理的支付业务系统和灾备能力,具体涉及:注册资金规模、支付业务从业资格证、经营从业范围、从事金融业股东占比、反洗钱能力、技术研
阅读全文
posted @ 2021-06-03 17:48
duanxz
阅读(1484)
推荐(0)
2021年6月2日
摘要:
例如: public class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Bug"); list.add("
阅读全文
posted @ 2021-06-02 11:03
duanxz
阅读(312)
推荐(0)
2021年6月1日
摘要:
一个java 8的stream是由三部分组成的。数据源,零个或一个或多个中间操作,一个或零个终止操作。 中间操作是对数据的加工,注意,中间操作是lazy操作,并不会立马启动,需要等待终止操作才会执行。 终止操作是stream的启动操作,只有加上终止操作,stream才会真正的开始执行。 lambda
阅读全文
posted @ 2021-06-01 19:35
duanxz
阅读(2769)
推荐(1)
posted @ 2021-06-01 17:54
duanxz
阅读(0)
推荐(0)
2021年5月31日
posted @ 2021-05-31 19:38
duanxz
阅读(8)
推荐(0)
摘要:
场景使用Spring Cloud Gateway(SCG)时,想在网关日志中输出返回日志,但由于数据流只能被读取一次,必须使用特定方式进行重写才能正常返回到前端。 处理过程起初使用fluxBody.map读取数据流,会出现多次输出的情况,由于使用的时reactor框架处理数据,导致会出现将一个结果集
阅读全文
posted @ 2021-05-31 09:07
duanxz
阅读(3266)
推荐(0)
2021年5月24日
摘要:
第一反应,参考zuul 的实现,自定义断言,然后从上下中获取版本信息即可。但由于 spring cloud gateway 是基于webflux 的反应式编程,所以传统的TTL或者 RequestContextHolder 都不能正确的维护上下文请求。 先来看 spring clou的 gatewa
阅读全文
posted @ 2021-05-24 19:09
duanxz
阅读(1521)
推荐(0)
2021年5月21日
摘要:
一、Springboot2.x的actuator使用 1.1、添加依赖包 compile 'org.springframework.boot:spring-boot-starter-actuator:2.3.8.RELEASE' Springcloud Gateway项目中的springboot是2
阅读全文
posted @ 2021-05-21 15:41
duanxz
阅读(962)
推荐(0)
摘要:
build.gradle是gradle中非常重要的一个文件,因为它描述了gradle中可以运行的任务,今天本文将会带大家体验一下如何创建一个build.gradle文件和如何编写其中的内容。 project和task gradle是一个构建工具,所谓构建工具就是通过既定的各种规则,将原代码或者原文件
阅读全文
posted @ 2021-05-21 14:14
duanxz
阅读(1494)
推荐(0)
2021年5月20日
摘要:
背景 随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。而诸多的服务可能分布在了几千台服务器,横跨多个不同的数据中心。为了快速定位和解决故障,应用性能进行分析,全链路监控组件就在这样的问题背景下产生了。最出名的是谷歌公开的论文提到的Google Dapper。想要在这
阅读全文
posted @ 2021-05-20 09:38
duanxz
阅读(2007)
推荐(0)
摘要:
问题1:无法获取body内容 问题原因分析 在使用过程中碰到过滤器中获取的内容一直都是空的,尝试了网上的各种解析body内容的方法,但是得到结果都是一样,死活获取不到body数据,一度很崩溃。后来进行了各种尝试,最终发现使用不同的spring boot版本和spring cloud版本,对结果影响很
阅读全文
posted @ 2021-05-20 09:36
duanxz
阅读(3062)
推荐(0)
2021年5月19日
摘要:
一、前提 我们平时在用SpringMVC的时候,只要是经过DispatcherServlet处理的请求,可以通过@ControllerAdvice和@ExceptionHandler自定义不同类型异常的处理逻辑,具体可以参考ResponseEntityExceptionHandler和Default
阅读全文
posted @ 2021-05-19 18:28
duanxz
阅读(4468)
推荐(0)
2021年5月18日
摘要:
一、filter的作用和生命周期 Zuul1.x 阻塞式IO 2.x 基于Netty,Spring Cloud GateWay天生就是异步非阻塞的,基于Reactor模型; 一个请求-->网关根据特定的条件匹配—>匹配成功之后可以将请求转发到指定的服务地址;在这个过程中,我们可以进行一些比较具体的控
阅读全文
posted @ 2021-05-18 14:05
duanxz
阅读(4403)
推荐(1)
摘要:
1.nigin添加一段配置 server { listen 80; # this is the key !!!!! proxy_set_header Host $host; location /client/pids { proxy_pass http://10.103.13.103:3200/cl
阅读全文
posted @ 2021-05-18 11:28
duanxz
阅读(2307)
推荐(0)
2021年5月17日
摘要:
Unable to find GatewayFilterFactory with name xxx 原因是过滤器名称导致的... spring 约定过滤器类名"xxx"+GatewayFilterFactory,其中"xxx"为配置中的name; 配置文件中 filters: - name: Val
阅读全文
posted @ 2021-05-17 18:19
duanxz
阅读(5726)
推荐(1)
摘要:
最近使用Spring Cloud Gateway替换Zuul的时候发现Swagger并不支持以WebFlux为底层的Gateway,无法集成,运行报错。 首先是子项目Spring Boot项目正常集成Swagger。在业务项目Admin中添加Swagger依赖包(使用consul为注册中心),这里跳
阅读全文
posted @ 2021-05-17 17:19
duanxz
阅读(2413)
推荐(0)
2021年5月13日
摘要:
1. TLS / SSL Spring Cloud Gateway使用HTTPS,是和普通的Spring boot服务配置是一样的,比如: application.yml. 1234567 server: ssl: enabled: true key-alias: scg key-store-pas
阅读全文
posted @ 2021-05-13 21:05
duanxz
阅读(1322)
推荐(0)