
微服务
文章平均质量分 75
CodingPioneer
人生就是永无休止的奋斗。
展开
-
基于net6的asp.net core webapi项目打包为docker镜像,并推送至私有镜像仓库harbor中
从第8行可以看出我们需要向生成并发布一下这个WebApi站点,并且发布的目录为bin/Release/net6.0/publish/,bin目录向与Dockerfile同级,都在Src/Wongoing.Main.API目录下。3、在本机系统打开浏览器,在地址栏输入http://localhost:8021/swagger/index.html,进行测试。第8行说明把本机bin/Release/net6.0/publish/目录下的所有内容复制到镜像系统的工作目录/app下。原创 2024-01-09 16:27:40 · 2973 阅读 · 0 评论 -
群晖Docker套件注册Harbor私有镜像仓库,并下载运行自己发布的Docker镜像
[群晖Docker套件注册Harbor私有镜像仓库,并下载运行自己发布的Docker镜像]在进行微服务开发时,一些基础服务组件(Nacos、Redis、Mysql)的运行以及越来越多的业务服务组件的开发,会导致开发者电脑的内存资源紧张,此时我们可以把一些基础服务组件和基本业务组件(认证中心、用户中心、日志中心、统一网关)等不经常变的服务直接部署到服务器上,当然为了节省电费,也可以部署到Nas中,本文就以群晖DSM7.1为例作为服务进行介绍(Nas的内存建议配置要高一些)。原创 2022-10-02 23:13:25 · 8185 阅读 · 0 评论 -
Windows10子系统Ubuntu20.04.4 LTS部署docker后制作docker镜像,并把镜像推送至Harbor私有镜像仓库
关于在Windows10中安装子系统,请参看我的上一篇博文Windows10启用WSL2,安装子系统Ubuntu20.04.4 LTS并在Ubuntu中部署docker。原创 2022-10-02 15:52:16 · 1509 阅读 · 0 评论 -
C# net6微服务架构之服务注册与发现工具Consul的下载与安装(for windows)
之前一直在学习和使用基于Spring Cloud的微服务架构,但项目团队成员有部分还在使用C#技术体系,因此就动了想使用C#搭建一个微服务架构案例的念头,C#开发微服务一般使用net core或最新的net6。那么首先就是对之前Spring Cloud中用到的中间件和微服务支撑和治理的相关工具在C#中肯定也是要用到的,经过简单的分析查阅发现有些是通用的(比如redis、数据库),有些不是(比如Nacos、Eureka)。本文就以服务注册与发现为例来介绍一下,在C#中服务注册与发现的中间件工具Consul。C原创 2022-07-08 17:07:35 · 3672 阅读 · 0 评论 -
华为云ECS服务器CentOS8.2安装docker
华为云ECS服务器CentOS8.2安装docker1、参考说明2、 环境说明3、在CentOs中安装所需要的软件包4、设置docker仓库5、安装最新版Docker Engine-Community6、启动docker引擎7、卸载docker1、参考说明本文参考docker教程:https://www.runoob.com/docker/docker-tutorial.html教程中有1、使用官方安装脚本自动安装安装命令如下:curl -fsSL https://get.docker.com原创 2021-09-27 16:24:09 · 1830 阅读 · 0 评论 -
Spring Cloud Gateway集成OAuth2.0架构前后端分离开发时前端访问后端服务要点
Spring Cloud Gateway集成OAuth2.0架构前后端分离开发时前端访问后端服务要点1、Spring Cloud Gateway集成OAuth2.0后的接口访问流程2、前端访问后端服务要点1-获取access_token3、前端访问后端服务要点2-携带access_token访问后端服务1、Spring Cloud Gateway集成OAuth2.0后的接口访问流程在网关集成Oauth2.0后,后台接口访问流程如下:项目案例如下图:这里有3个服务服务应用名称端口说原创 2021-08-11 16:27:40 · 1323 阅读 · 2 评论 -
SpringCloud微服务前后端分离开发中出现的弱智问题之(不支持当前媒体类型)
SpringCloud微服务前后端分离开发中出现的弱智问题之(不支持当前媒体类型)问题背景问题解决为什么说这是一个弱智问题,因为这多是编写代码不仔细造成的。问题背景当前端请求的参数格式与后台API发布的接口参数格式不一致时就会出现这个问题。后台代码示例:/** * @description: 用户控制器类 * @author: zheng * @date: Created in 2021/2/3 15:58 * @version: 0.0.1 * @modified By: */@A原创 2021-08-11 13:45:28 · 526 阅读 · 0 评论 -
SpringCloud微服务前后端分离开发中出现的弱智问题之(不支持当前请求方法)
SpringCloud微服务前后端分离开发中出现的弱智问题之(不支持当前请求方法)问题背景问题解决为什么说这是一个弱智问题,因为这多是编写代码不仔细造成的。问题背景当当后台API发布的接口与前端请求的HttpMethod不一致时就会出现这个问题。后台代码示例:/** * @description: 用户控制器类 * @author: zheng * @date: Created in 2021/2/3 15:58 * @version: 0.0.1 * @modified By: */原创 2021-08-11 12:00:13 · 398 阅读 · 0 评论 -
maven项目中什么时候dependency中的version可以省略?
maven项目中什么时候dependency中的version可以省略?原创 2021-03-26 09:22:01 · 7795 阅读 · 1 评论 -
mybatis-plus在spring项目中常用配置项yml和properties
mybatis-plus在spring项目中常用配置项yml和propertiespom.xml中的关键依赖项application.ymlapplication.propertiespom.xml中的关键依赖项<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId></dependency>&原创 2021-02-05 14:16:08 · 5487 阅读 · 2 评论 -
alibaba druid数据库连接池在spring项目中的常用配置项yml和properties
alibaba druid数据库连接池在spring项目中的常用配置项yml和propertiespom.xml中的关键依赖项application.ymlapplication.propertiespom.xml中的关键依赖项<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId></dependen原创 2021-02-05 14:10:17 · 1877 阅读 · 0 评论 -
Spring Cloud OAuth2实现Resource Server中API鉴权
Spring Cloud OAuth2实现Resource Server中API鉴权1、在上文的AuthenticationServer项目中增加UserDetailsController用于获取当前用户信息2、为上文的AuthenticationServer项目启动类增加@EnableResourceServer注解3、创建Resource Server工程4、修改spring配置5、创建需要鉴权访问的API接口(Resource)6、实现ResourceServer6.1 自定义路径拦截处理类实现Fil原创 2021-01-22 17:12:57 · 1719 阅读 · 2 评论 -
微服务架构中整合网关、权限服务
微服务架构中整合网关、权限服务1. 前文回顾与整合设计2. gateway实现2.1 permitAll实现2.2 加强头部2.3 资源服务器配置2.4 自定义RemoteTokenServices实现3. auth整合4. backend项目实现4.1 filter过滤器4.2 通过切面来实现@PreAuth注解4.3 controller接口4.4 为什么这样设计?4.5 后期优化5. 总结推荐阅读源码本文是转载的,虽然代码实现部分有点老旧,但是理论思路还是非常不错的。前言:之前的文章有讲过微服转载 2021-01-21 15:42:43 · 1080 阅读 · 0 评论 -
认证鉴权与API权限控制在微服务架构中的设计与实现:授权码模式
认证鉴权与API权限控制在微服务架构中的设计与实现:授权码模式授权码类型介绍快速入门Spring-Securiy 配置AuthenticationProvider测试使用源码详解小结本文是转载的,虽然代码实现部分有点老旧,但是理论思路还是非常不错的。引言: 之前系列文章《认证鉴权与API权限控制在微服务架构中的设计与实现》,前面文章已经将认证鉴权与API权限控制的流程和主要细节讲解完。由于有些同学想了解下授权码模式,本文特地补充讲解。授权码类型介绍授权码类型(authorization code转载 2021-01-21 15:27:48 · 419 阅读 · 0 评论 -
认证鉴权与API权限控制在微服务架构中的设计与实现(四)
认证鉴权与API权限控制在微服务架构中的设计与实现(四)1. 前文回顾2. 其他端点2.1 注销端点2.2 刷新端点3. Spring Security过滤器3.1 UsernamePasswordAuthenticationFilter3.2 FilterSecurityInterceptor4. 总结5. 不足与后续工作5.1 存在的不足5.2 后续工作本文是转载的,虽然代码实现部分有点老旧,但是理论思路还是非常不错的。引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的完转载 2021-01-21 15:14:35 · 435 阅读 · 0 评论 -
认证鉴权与API权限控制在微服务架构中的设计与实现(三)
认证鉴权与API权限控制在微服务架构中的设计与实现(三)1. 前文回顾2.资源服务器配置3. 鉴权endpoint4. token 合法性验证5. API级别权限校验6. 总结本文是转载的,虽然代码实现部分有点老旧,但是理论思路还是非常不错的。引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的第三篇,本文重点讲解token以及API级别的鉴权。本文对涉及到的大部分代码进行了分析,欢迎订阅本系列文章。1. 前文回顾在开始讲解这一篇文章之前,先对之前两篇文章进行回忆下。在第一转载 2021-01-21 14:58:19 · 391 阅读 · 0 评论 -
认证鉴权与API权限控制在微服务架构中的设计与实现(二)
认证鉴权与API权限控制在微服务架构中的设计与实现(二)1. 系统概览2. 配置与类图2.1 AuthorizationServer主要配置2.2 主要Authentication类的类图3. 认证与授权token3.1 内置端点TokenEndpoint3.2 自定义的验证类CustomAuthenticationProvider3.3 关于JWT3.3 自定义的AuthorizationTokenServices4. 总结本文是转载的,虽然代码实现部分有点老旧,但是理论思路还是非常不错的。引言:转载 2021-01-21 14:47:59 · 420 阅读 · 0 评论 -
认证鉴权与API权限控制在微服务架构中的设计与实现(一)
认证鉴权与API权限控制在微服务架构中的设计与实现(一)1. 背景2. 系统架构的变更3. 技术方案3.1 认证与鉴权3.2 操作权限控制4. 系统架构4.1 组件4.2 步骤4.3 endpoint4.4 maven依赖4.5 AuthorizationServer配置文件4.6 ResourceServer配置4.7 执行endpoint5. 总结本文是转载的,虽然代码实现部分有点老旧,但是理论思路还是非常不错的。引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的第一篇,转载 2021-01-21 14:29:41 · 462 阅读 · 0 评论 -
基于SpringBoot2.x使用Druid和MyBatis-Plus时的yml详细配置
基于SpringBoot2.x使用Druid和MyBatis-Plus时的yml详细配置当前项目基于SpringBoot2.2.7.RELEASE1、首先需要在pom.xml中以starter方式引入druid依赖和mybatis-plus依赖1.1 druid依赖引入<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter&l原创 2021-01-20 14:49:42 · 1071 阅读 · 1 评论 -
Spring Cloud OAuth2实现用户认证中心学习笔记
Spring Cloud OAuth2实现用户认证中心学习笔记1、创建Spring Cloud OAuth2项目2、在不使用数据库的情况下实现AuthenticationServer3、测试AuthenticationServer3.1 授权码方式(grant_type=authorization_code)验证测试3.2 客户端方式(grant_type=client_credentials)验证测试3.3 用户名密码方式(grant_type=password)验证测试3.4 刷新token(grant原创 2021-01-19 17:38:51 · 1049 阅读 · 0 评论 -
Spring Cloud OAuth2中访问/oauth/token报401 Unauthorized问题的解决
Spring Cloud OAuth2中访问/oauth/token报401 Unauthorized问题的解决问题分析问题解决问题分析在新建的Spring Cloud OAuth2项目中使用grant_type为password方式访问时报server_error。在postman中如下:{ "timestamp": "2021-01-16T10:26:53.052+00:00", "status": 401, "error": "Unauthorized", "me原创 2021-01-16 18:35:46 · 14751 阅读 · 2 评论 -
Spring Cloud OAuth2中访问/oauth/token报invalid_client问题的解决
Spring Cloud OAuth2中访问/oauth/token报invalid_client问题的解决问题分析问题解决问题分析初建Spring Cloud OAuth2项目中访问获取access_token票证的端点/oauth/token时报invalid_client错误,postman中错误信息如下:{ "error": "invalid_client", "error_description": "Bad client credentials"}如下图:Java原创 2021-01-16 18:25:19 · 14253 阅读 · 0 评论 -
Spring Cloud OAuth2中访问/oauth/token报server_error问题的解决
Spring Cloud OAuth2中访问/oauth/token报server_error问题的解决问题分析问题解决问题分析在新建的Spring Cloud OAuth2项目中使用grant_type为password方式访问时报server_error。在postman中如下图:{ "error": "server_error", "error_description": "Internal Server Error"}如下图:java后台报错如下:2021-01-1原创 2021-01-16 18:12:42 · 6177 阅读 · 0 评论 -
Spring Cloud OAuth2中访问/oauth/token报Unsupported grant type: password问题的解决
Spring Cloud OAuth2中访问/oauth/token报Unsupported grant type: password问题的解决问题分析问题解决问题分析在新建的Spring Cloud OAuth2项目中使用grant_type为password方式访问时报Unsupported grant type: password。在postman中如下图:{ "error": "unsupported_grant_type", "error_description": "Uns原创 2021-01-16 17:59:13 · 9970 阅读 · 2 评论 -
Spring Cloud OAuth2中访问/oauth/token报There is no PasswordEncoder mapped for the id “null“问题解决
Spring Cloud OAuth2中访问/oauth/token报There is no PasswordEncoder mapped for the id "null"问题解决问题分析问题解决问题分析初建Spring Cloud OAuth2项目中访问获取access_token票证的端点/oauth/token时报错,在postman中报如下错误:{ "error": "unauthorized", "error_description": "Full authenticati原创 2021-01-16 11:32:44 · 1207 阅读 · 3 评论 -
Spring Cloud学习笔记—基于Nacos的服务注册与发现实操练习
Spring Cloud学习笔记—基于Nacos的服务注册与发现实操练习1、使用eclipse-STS创建服务提供程序2、使用eclipse-STS创建服务消费程序关于Nacos的安装与配置不在本文范围中,详情请参看Nacos官网:https://nacos.io/1、使用eclipse-STS创建服务提供程序1、打开eclipse-sts,点击File->New->Spring Starter Project,出现新建向导对话框,如下图:Name输入NacosServiceProvi原创 2020-12-28 17:36:34 · 463 阅读 · 0 评论 -
Spring Cloud学习笔记—网关Spring Cloud Gateway动态路由实操练习
Spring Cloud学习笔记—Spring Cloud Gateway动态路由实操练习Spring Cloud Gateway的路由规则不管是卸载yml配置文件,还是写代码里,这两种方式都是不支持动态配置的,Spring Cloud Gateway启动时候,就将路由配置和规则加载到内存里,无法做到不重启网关就可以识别yml配置文件和代码配置的变化。下面就详细介绍如何实现Spring Cloud Gateway的动态路由(即不重启网关就能改变路由规则)。本文练习是在《Spring Cloud学习笔记原创 2020-12-20 16:18:47 · 418 阅读 · 0 评论 -
Spring Cloud学习笔记—网关Spring Cloud Gateway官网教程实操练习
Spring Cloud学习笔记—Spring Cloud Gateway官网教程实操练习1、Spring Cloud Gateway介绍2、在Spring Tool Suite4或者IDEA中创建Gateway工程3、通过代码创建一个Router(路由)4、运行测试5、通过改进程序加深网关理解6、总结1、Spring Cloud Gateway介绍Spring Cloud Gateway官网地址:https://spring.io/guides/gs/gateway/在SpringCloud微服原创 2020-12-17 17:54:48 · 1593 阅读 · 0 评论 -
Error creating bean with name ‘configurationPropertiesBeans‘ defined in class path resource异常分析
Error creating bean with name 'configurationPropertiesBeans' defined in class path resource异常分析在学习使用alibaba的nacos过程中,编写了一个Spring Cloud的demo实现服务注册,结果一启动项目,就报了如下异常:2020-12-15 12:50:43.215 WARN 24520 --- [ main] s.c.a.AnnotationConfigApplicationC原创 2020-12-15 13:18:56 · 53810 阅读 · 15 评论 -
Zookeeper下载与安装教程(for windows)
Zookeeper下载与安装教程(for windows)Zookeeper下载Zookeeper安装前置条件单机模式部署伪集群模式部署集群模式部署Zookeeper简单操作Zookeeper下载1、首先进入apache官网https://www.apache.org/然后点击中间的Projects->Project List菜单项进入ProjectList页面,如下图:2、在ProjectList页面中找点Zookeeper链接,然后点击进入Zookeeper的主页,如下图:3、在原创 2020-11-13 14:48:59 · 89645 阅读 · 1 评论 -
微服务之Spring Boot2—降低开发复杂度之面向切面AOP
微服务之Spring Boot2—降低开发复杂度之面向切面AOPSpring Boot中常用注解说明@SpringBootApplication@Configuration@Bean@ComponentScan在STS项目pom.xml中添加aop的starter前置通知后置通知后置异常通知后置最终通知环绕通知AOP总结在软件行业,AOP为Aspect Oriented Programming的缩写,意为面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是原创 2020-07-15 15:53:26 · 399 阅读 · 0 评论 -
微服务之Spring Boot2—快速集成第三方的Starter
微服务之Spring Boot2—快速集成第三方的Starter介绍Spring Boot常用的Starter(启动器)介绍Spring Boot的Starter主要用来简化依赖,对于企业级开发中与第三方的集成,可以通过一段简单的配置来完成,这样开发人员无须再对包依赖的问题头疼。Spring Boot为我们提供了简化企业级开发的绝大多数场景的Starter pom,只需要指定需要配置的Starter,Spring Boot会自动为我们提供配置好的Bean。Spring Boot常用的Starter(启原创 2020-07-15 10:12:45 · 391 阅读 · 0 评论 -
微服务之Sprint Boot2—一切从简单开始
微服务之Sprint Boot2—一切从简单开始介绍测试总结介绍介绍使用Spring Boot是快乐并且简单的,不需要繁琐的配置就能够完成一套非常强大的应用。实现使用STS,可以去官方万展下载最新版。网站地址为https://spring.io/tools。关于详细下载及安装方式可以参考我的另一篇博客[Spring Boot开发利器之STS(Spring Tool Suite 4)下载与安装]。Spring Tools | 4是基于Eclipse开发的专门为Spring开发使用的工具包。新建原创 2020-07-13 13:40:52 · 354 阅读 · 0 评论 -
电商平台微服务工程设计
电商平台微服务工程设计1、微服务工程结构2、电商平台微服务工程组建3、数据库选型4、微服务工程创建步骤5、项目基本配置6、创建模块7、小结在微服务技术大行当道之时,很多以前的单体项目都在进行微服务重构升级,本文就以电商平台微服务架构设计案例来说明如何组建工程和进行相关的微服务开发。1、微服务工程结构微服务的工程组建,我们将按业务类型来进行组织,即将同一业务类型的微服务放在同一个项目工程之中。...原创 2020-04-15 14:53:52 · 728 阅读 · 0 评论 -
互联网系统架构的演进
互联网系统架构的演进天下武功唯快不破鸡蛋不要放在一个篮子里性能是生命线存储架构和性能程序架构和性能网络架构和性能大系统小做开放势不可挡接入层设计云平台概念稳定压倒一切代码稳定性容灾多终端接入、开放平台给互联网带来了前所未有的用户量级和访问规模,SNS网站产生了海量的UGC(用户产生内容),而且这些内容依托关 系链扩散速度之快、传播范围之广是传统网站难以想象的,海量数据的计算存储也一直是近年互联网...转载 2020-04-07 10:23:58 · 439 阅读 · 0 评论 -
Spring Boot开发利器之STS(Spring Tool Suite 4)下载与安装
Spring Boot开发利器之STS(Spring Tool Suite 4)下载与安装背景正文前置条件下载安装背景在使用eclipse进行Spring Boot或Spring Cloud应用开发时,为了方便起见,最好安装STS插件,之前介绍过使用Eclipse Marketplace方式安装STS插件的文章Eclipse Jee Oxygen安装STS插件进行Spring Boot开发,本...原创 2020-02-27 11:55:08 · 59324 阅读 · 26 评论 -
Unable to process Jar entry [module-info.class] from Jar的问题解决
Unable to process Jar entry [module-info.class] from Jar的问题解决背景解决办法背景在使用Eclipse进行Spring Boot应用开发时,如果项目启动是Run As->Run On Server方式运行就会报类似于Unable to process Jar entry [module-info.class] from Jar的错误...原创 2020-02-27 09:45:41 · 21269 阅读 · 5 评论 -
微服务之Sprint Boot 1
微服务之Sprint Boot 1由来特性四大神器对于Spring,相信大家都非常熟悉,从出现开始,一直是企业级开发的主流。但是随着软件的发展和应用开发的不断演化,它的一些缺点也逐渐暴露出来。下面看一下Spring的发展历程并且认识一下Spring Boot。由来在Spring1.x的时候,所有的配置都通过XML实现,随着项目的扩大,需要频繁地在Java和XML之间切换。在Spring2....原创 2020-02-25 13:01:29 · 448 阅读 · 0 评论 -
02 Spring Cloud之服务注册与发现框架Eureka编程实现
02 Spring Cloud之服务注册与发现框架Eureka编程实现1、Eureka Server实现2、Eureka Client实现3、问题总结4、结束语1、Eureka Server实现1.1 打开IntelliJ IDEA(我的版本2019.1.3)1.2 点击菜单File->New Project打开新建工程向导对话框,在左侧模版目录中选择Maven,如下图:1.3 点...原创 2019-07-03 17:45:45 · 255 阅读 · 0 评论 -
01 Spring Cloud入门学习之服务注册与发现框架Eureka介绍
01 Spring Cloud入门学习之服务注册与发现框架Eureka介绍1、注册中心简介2、常用的注册中心2.1 ZooKeeper2.2 Eureka2.3 Etcd2.4 Consul3、Eureka介绍3.1 Eureka的一些概念3.2 服务发现3.3 简单注册4、总结1、注册中心简介CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容...原创 2019-07-02 17:21:53 · 446 阅读 · 0 评论