
微服务架构
文章平均质量分 80
微服务架构: 涉及微服务架构,API网关,springboot相关的使用经验分享
enjoy编程
Stay hungry, stay foolish.(求知若饥,虚心若愚。)10+IT行业老兵,熟悉大数据处理,分布式编程, 喜欢使用java、python解决工作、生活中的问题
展开
-
docker--redis容器部署及地理空间API的使用示例-II
Redis Geospatial 是 Redis 3.2 版本新增的数据类型,主要用于存储地理位置信息,并对存储的信息进行操作。GEO 本身并没有设计新的底层数据结构,而是直接使用了 Sorted Set 集合类型。GEO 类型使用 GeoHash 编码方法实现了经纬度到 Sorted Set 中元素权重分数的转换,这其中的两个关键机制就是「对二维地图做区间划分」和「对区间进行编码」。一组经纬度落在某个区间后,用区间的编码值来表示,把编码值作为 Sorted Set 元素的权重分数。本文提供使用示例原创 2023-10-01 23:10:49 · 737 阅读 · 1 评论 -
Springboot: Spring Cloud Gateway 使用的基本概念及配置介绍
Springboot: Spring Cloud Gateway 使用的基本概念及配置介绍原创 2023-09-25 22:15:00 · 961 阅读 · 0 评论 -
Springboot: ApplicationRunner、CommandLineRunner的应用场景、区别及使用示例
Springboot: ApplicationRunner、CommandLineRunner的应用场景、区别及使用示例原创 2022-09-18 19:45:00 · 953 阅读 · 0 评论 -
Springboot: 如何集成EventBus
EventBus is a publish/subscribe event bus for Android and Java.EventBus是一个面向Android和Java的发布/订阅事件总线。EventBus是一个面向Android和Java的开源库,使用发布者/订阅者模式实现松耦合。EventBus只需要几行代码就可以实现中央通信,从而解耦类——简化代码,消除依赖,加快应用程序开发.本文讲解如何在springboot项目中集成EventBus...原创 2022-07-24 10:46:17 · 1493 阅读 · 1 评论 -
接口快速开发框架 magic-api 2.x 进阶--1
magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发本文针对magic-api的以下特性进行测试验证- 直接调用JAVA类的静态方法- 通过spring bean调用JAVA类的实例方法- 在spring bean中调用magic-api接口- 在spring bean中获取动态数据源原创 2022-05-08 17:40:16 · 4088 阅读 · 1 评论 -
Spring Security+JWT在前后端分离项目中,实现认证授权的入门及理论讲解
SpringSecurity的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器。包含如下核心过滤器- UsernamePasswordAuthenticationFilter: 根据用户名及密码进行认证工作- ExceptionTranslationFilter:处理过滤器链中抛出的任何AccessDeniedException和 AuthenticationException- FilterSecurityInterceptor: 负责进行授权操作本文讲解认证授权的入门及理论讲解原创 2022-05-03 23:20:07 · 1634 阅读 · 0 评论 -
接口快速开发框架 magic-api 2.x初体验
magic-api是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口。 无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发。本文针对magic-api 2.x的初体验进行总结,并记录了如何填坑的。原创 2022-02-28 19:15:00 · 6399 阅读 · 0 评论 -
使用JWT生成Token进行接口鉴权实现方法
利用JWT进行鉴权的思路用户发起登录请求。服务器使用私钥创建一个jwt字符串,作为token;服务器将这个token返回给浏览器;在后续请求中,token作为请求头的内容,发给服务端。服务端拿到token之后进行解密,正确解密表示此次请求合法,验证通过;解密失败说明Token无效或者已过期返回响应的资源给浏览器JWT介绍什么是JWTJSON Web令牌(JWT)是一种开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,以JSON对象的形式在通信双方之间安全地传输信息。由于该原创 2021-09-24 17:28:35 · 2644 阅读 · 0 评论 -
springboot的外部化配置及配置文件加载顺序
默认配置文件位置springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件,加载顺序及优先级如下:file:./config/file:./classpath:/config/classpath:/优先级由高到底,高优先级的配置会覆盖低优先级的配置;SpringBoot会从这些位置全部加载主配置文件;互补配置;自定义配置文件位置通过spring.config.location增加原创 2021-09-14 16:40:29 · 578 阅读 · 0 评论 -
APISIX的访问日志时间早8个小时,怎么办?
背景使用docker 或 docker-compose安装好APISIX后,查看访问日志,发现日志的时间晚了8个小时,怎么办?解决方案解决步骤在 docker-compose.yml中的每一个容器中,增加如下内容 environment: - LANG=zh_CN.UTF-8 - LC_ALL=zh_CN.UTF-8 - TZ=Asia/Shanghai volumes: - /usr/share/zoneinfo/Asia/Shang原创 2021-08-27 17:21:09 · 1175 阅读 · 5 评论 -
基于docker-compose安装APISIX及配置示例
本文基于docker-compose安装APISIX的详细步骤,并给出配置及使用示例并将安装过程中的问题进行了梳理总结原创 2021-08-26 15:45:55 · 8538 阅读 · 6 评论 -
Springboot: 如何将服务注册到Nacos
NacosNacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。下面是将Springboot服务注册到nacos的配置过程:增加依赖<!-- 注册中心 --> <dependencyManagement> <dependencies> <dependency> <groupId&原创 2021-07-14 12:03:02 · 5194 阅读 · 1 评论 -
Springboot集成Swagger2的配置
SwaggerSwagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 作用如下:接口的文档在线自动生成。功能测试。增加依赖2.9.2的版本是用的最多的, 目前最新版本是3.0.x<!--Swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId&g原创 2021-07-14 11:40:38 · 320 阅读 · 0 评论 -
SpringBoot如何正确控制bean的加载顺序
1. 为什么需要控制bean的加载顺序springboot遵从约定大于配置的原则,极大程度的解决了配置繁琐的问题。在此基础上,又提供了SPI【Service Provider Interface】机制,用resources/META-INF/spring.factories配置文件完成一个小组件的自动装配功能。在一般业务场景,可能你不大关心一个bean是如何被注册进spring容器的。只需要把需要注册进容器的bean声明为@Component即可,spring会自动扫描到这个Bean完成初始化并加载到s原创 2021-07-05 19:34:37 · 4620 阅读 · 3 评论 -
http框架--unirest介绍及使用示例
1. Unirest1.1. 介绍Unirest 是一套跨语言轻量级HTTP开发库由Kong团队维护,此团队同时维护着另一个著名开源网关项目API Gateway Kong.Unirest 支持多种语言,如Node、Ruby、Java、PHP、Python、Objective-C、.NET 等,可发起 GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS 请求作为基于apache httpcomponent的unirest-java,提供了更为便捷、功能强大的ap原创 2021-06-30 15:04:46 · 7783 阅读 · 0 评论 -
http框架--基于httpclient 封装的http请求工具类
1. httpclient1.1. 基本介绍HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性,它不仅使客户端发送Http请求变得容易,而且也方便开发人员测试接口(基于Http协议的),提高了开发的效率,也方便提高代码的健壮性注意:Commons HttpClient项目现在已经原创 2021-06-30 14:32:33 · 1344 阅读 · 1 评论 -
http框架--OkHttp 4 架构与源码分析
1. OkHttp1.1. 概述OkHttp现在应该算是最火的Http第三方库,Retrofit底层也是使用OkHttpOkHttp官网地址:http://square.github.io/okhttp/OkHttp GitHub地址:https://github.com/square/okhttp1.3. 出现背景网络访问的高效性要求,可以说是为高效而生1.3. 特性提供了对 HTTP/2 的支持,对同一个主机发出的所有请求都可以共享相同的套接字连接如果HTTP/2 不可用,使用连接池原创 2021-06-30 11:51:48 · 1413 阅读 · 1 评论 -
http框架--基于OkHttp 4 封装的http请求工具类
1. 基本介绍OkHttp算是最火的Http第三方库,Retrofit底层也是使用OkHttp本文将OkHttp请求的相同代码进行封装,简化代码,便捷使用。2. 源代码2.1 使用示例以第三方系统集成海豚调度系统为例,演示http请求工具类的使用工具类支持http、https协议,以链式进行调用,使用起来非常便捷。class OkHttpUtilsTest { public static void main(String[] args) { String res = "原创 2021-06-30 10:13:07 · 2499 阅读 · 0 评论 -
微服务的架构--API 网关相关知识梳理
1. API网关解决的问题在微服务的架构下,API网关是一个常见的架构设计模式。以下是微服务中常见的问题,需要引入API网关来协助解决。微服务提供的API的粒度通常与客户端所需的粒度不同。微服务通常提供细粒度的API,这意味着客户端需要与多个服务进行交互。例如产品详细信息页面需要从多个服务中获取数据。 不同的客户端需要不同的数据。例如产品详细信息页面PC端版本通常比移动版本更为详尽。 对于不同类型的客户端,网络性能是不同的。例如移动网络通常要慢得多并且具有更高的延迟。PC端Web...原创 2021-06-22 10:40:23 · 918 阅读 · 0 评论 -
SpringBoot 五种获取ApplicationContext的方式
之前每次想要获取Spring上下文【ApplicationContext】的时候,都去现查方案。本文针对获取Spring ApplicationContext的方式做了梳理,总结。1. 概念ApplicationContext是什么?简单来说就是Spring中的容器,可以用来获取容器中的各种bean组件,注册监听事件,加载资源文件等功能2. 获取ApplicationContext的方式2.1. 创建工具类通过此工具类,可以方便的获取bean组件, 获取配置信息等import原创 2021-05-19 15:39:53 · 24262 阅读 · 1 评论