微服务合集
文章平均质量分 71
Spring Boot、Spring Cloud
西瓜游侠
希望自己能够开心
展开
-
微服务合集导航
导航SpringBoot@SpringBootApplication注解原创 2021-10-20 21:56:10 · 194 阅读 · 0 评论 -
OAuth2.0简介
OAuth 2.0是用于授权的行业标准协议。1 相关名词Resource owner(资源拥有者):拥有该资源的最终用户,他有访问资源的账号密码;Resource server(资源服务器):受保护资源所在的服务器,如果请求包含正确的访问令牌,就可以访问受保护的资源;Client(客户端):请求访问资源的客户端,可以是浏览器、移动设备或者服务器,客户端会携带访问令牌访问资源服务器上的资源;Authorization server(认证服务器):负责认证客户端身份的服务器,如果客户端认证通过,会给原创 2022-03-26 22:57:53 · 5220 阅读 · 0 评论 -
docker快速搭建postgresql容器
使用docker命令快速搭建postgresql首先下载postgresql镜像,本文选择的是pg 12:> docker pull postgres:12首先在宿主机器上面创建一个文件夹,用来保存数据:/home/docker/postgresql/data执行以下命令创建并启动一个容器,自定义命名为my-postgres:> docker run -p 5432:5...原创 2020-03-08 16:20:33 · 1733 阅读 · 0 评论 -
docker安装Nacos
1 docker命令安装单机版Nacos下载镜像docker pull nacos/nacos-server:1.3.1创建配置文件和日志文件目录mkdir -p /opt/nacos/init.dmkdir -p /opt/nacos/logscd /opt/nacos/init.dtouch custom.properties添加配置在custom.properties文件中填写如下配置:management.endpoints.web.exposure.incl原创 2020-08-05 19:05:05 · 7532 阅读 · 2 评论 -
Dockerfile学习笔记整理
docker build 命令通过docker build命令来构建一个Docker镜像。docker build会读取Dockerfile文件并将context一起构建成一个镜像。context可以是PATH或者URL。PATH是本地文件系统中的一个目录,URL是远程git仓库地址。context是递归处理的,因此是包含文件夹下面的所有文件和文件夹的。下面的例子使用当前文件夹作为cont...原创 2020-03-04 20:28:31 · 285 阅读 · 0 评论 -
CentOS 7通过yum安装Docker和docker-compose
参考:http://www.imooc.com/article/16448需要linux内核版本在3.10以上,可以通过uname -r查看。1、切换为root用户2、卸载旧版本(如果安装过旧版本的话)$ yum remove docker \ docker-common \ docker-selinux \ docker-engine3、安装...原创 2020-02-03 18:16:26 · 21623 阅读 · 1 评论 -
Docker构建能够ssh远程登录的CentOS7容器
期望效果:通过Docker构建一个安装了ssh的CentOS 7容器,并能够通过远程工具登录。1 下载centos:7镜像docker pull centos:72 创建目录,编写Dockerfile[root@localhost ~]# cd /home/root/docker/[root@localhost docker]# mkdir centos-ssh[root@localhost docker]# cd centos-ssh/[root@localhost docker]# .原创 2021-07-21 23:24:28 · 922 阅读 · 4 评论 -
docker网络配置
参考官方文档docker版本:v19.03docker的网络驱动docker通过驱动实现了可插拔的网络子系统。安装Docker时,它会自动创建三个内置的网络驱动:bridge:默认使用的网络驱动。此模式会为每一个容器分配IP等,并将容器连接到一个docker0的虚拟网桥。host:容器不会虚拟出自己的网卡,直接使用宿主机的IP和端口。none:关闭了容器的网络功能。可以通过...原创 2020-04-09 19:27:15 · 717 阅读 · 0 评论 -
docker快速搭建centos7
1、首先拉取centos:7镜像:docker pull centos:72、然后创建并运行容器如果希望在创建的centos容器中使用systemctl命令,在创建容器的时候需要加上两个东西:使用--privileged参数/usr/sbin/init作为容器的启动命令创建并运行容器的命令如下:docker run -dit --privileged --name=my-cen...原创 2020-03-31 19:10:45 · 289 阅读 · 0 评论 -
Docker安装并运行Rancher2.5.10
前提条件:安装CentOS7系统,可以使虚拟机安装的;在CentOS7中安装docker。下载Rancher镜像截止目前官网最新版本是v2.5.10,执行命令下载Rancher最新镜像:[root@localhost home]# docker pull rancher/rancher:v2.5.10查看镜像:[root@localhost home]# docker imagesREPOSITORY TAG IMAGE ID CREATED .原创 2021-10-23 01:06:46 · 1344 阅读 · 0 评论 -
MongoDB设置登录账号和密码
设置用户名和密码安装MongoDB。使用mongo工具连接数据库(双击打开就行,默认不需要认证账号)。设置超级管理员账号和密码use admindb.createUser({ user: 'admin', // 用户名(自定义) pwd: 'Abc123++', // 密码(自定义) roles:[{ role: 'root', // 使用超级用户角色 db: 'admin' // 指定数据库 }]})设置完成,可以通过指原创 2021-10-20 21:49:22 · 42306 阅读 · 0 评论 -
Nacos服务注册原理解析
参考:Nacos服务注册源码分析Spring Boot版本:2.2.9.RELEASESpring Cloud版本:Hoxton.SR6Spring Cloud Alibaba版本:2.2.1.RELEASENacos版本:1.3.11 @EnableDiscoveryClient如果需要启用服务注册功能,需要在启动类上面添加@EnableDiscoveryClient注解。查看@EnableDiscoveryClient的源码:@Target(ElementType.TYPE)@Re.原创 2020-08-16 22:38:18 · 3934 阅读 · 1 评论 -
Spring Cloud Gateway内置Filter
参考:官方文档Spring Cloud版本:Hoxton.SR5Spring Cloud Gateway版本:2.2.3.RELEASE1 简介Filter可以以某种方式修改请求或者响应。Spring Cloud Gateway提供了很多内置的GatewayFilterFactory。这些filter只对配置的当前route有效。下图展示了这些内置的GatewayFilterFactory:[图]2 内置的Filter2.1 AddRequestHeaderGatewayFilterFa.翻译 2020-07-04 19:22:03 · 989 阅读 · 0 评论 -
Raft协议
算法论文:https://web.stanford.edu/~ouster/cgi-bin/papers/raft-atc14Raft是工程上使用较为广泛的 最终一致性、去中心化、高可用 的分布式协议。Raft是一个 共识算法。Raft增强了可理解性,但是在性能、可靠性、可用性方面不输于Paxos算法。Raft会选举出一个leader,leader负责接收所有客户端的更新请求,并负责日...原创 2020-02-09 21:21:35 · 568 阅读 · 0 评论 -
Spring Cloud Consul 实现服务注册/发现
前置条件:首先根据 搭建Consul集群 搭建好Consul集群。下面使用Spring Cloud Consul 实现服务注册/发现。Spring Cloud 版本:Greenwich.SR5‘Spring Boot’ 版本:2.2.4.RELEASEConsul 版本:1.6.3引入依赖首先需要引入几个依赖:<!-- spring cloud consul 相关依赖 ...原创 2020-02-07 23:17:07 · 755 阅读 · 0 评论 -
Spring Cloud Gateway内置Predicate
参考:官方文档https://www.cnblogs.com/babycomeon/p/11161073.htmlSpring Cloud版本:Hoxton.SR5Spring Cloud Gateway版本:2.2.3.RELEASE1 简介Spring Cloud Gateway内置了很多Predicate,用来制定路由匹配规则。Predicate来源于Java 8,是Java 8中引入的一个函数,Predicate接受一个输入参数,返回一个布尔值结果。该接口包含多种默认方法来将Pred.原创 2020-06-26 23:45:34 · 614 阅读 · 0 评论 -
通过Feign消费注册在Nacos上面的服务
Spring Boot版本:2.2.9.RELEASESpring Cloud Alibaba版本:2.2.1.RELEASEnacos版本:1.3.1spring-cloud-starter-openfeign版本:2.2.3.RELEASE0 准备首先根据 通过Nacos实现服务注册与发现 搭建注册一个discoveryServer服务。1 引入依赖首先引入相关依赖:<!-- nacos服务注册与发现 --><dependency> <grou.原创 2020-08-23 22:48:18 · 1681 阅读 · 0 评论 -
通过Nacos实现服务注册与发现
Spring Boot版本:2.2.9.RELEASESpring Cloud版本:Hoxton.SR6Spring Cloud Alibaba版本:2.2.1.RELEASENacos版本:1.3.10 启动nacos服务参考 docker安装Nacos 启动一个单机版的Nacos服务。1 服务提供者创建一个名为nacos-discovery-server的Spring Cloud项目,向Nacos注册自己并提供服务。1.1 引入依赖引入spring-cloud-starter-al.原创 2020-08-10 00:09:19 · 1827 阅读 · 0 评论 -
搭建Consul集群
下载安装包wget https://releases.hashicorp.com/consul/1.6.3/consul_1.6.3_linux_amd64.zip解压unzip consul_1.6.3_linux_amd64.zip原创 2020-02-07 14:30:01 · 319 阅读 · 0 评论 -
Spring Cloud Gateway入门
参考:官方文档Spring Cloud版本:Hoxton.SR5Spring Cloud Gateway版本:2.2.3.RELEASE1 介绍Spring Cloud Gateway的目标是为微服务架构提供简单、有效、统一的API路由管理方式。作为Spring Cloud生态系统中的网关,不仅提供统一的路由方式,并且还基于Filer链的方式提供了网关基本的功能,例如:安全、监控/埋点、限流等。Spring Cloud Gateway是基于Spring Boot 2.x、Spring WebF.原创 2020-06-26 15:46:19 · 587 阅读 · 0 评论 -
初识Consul
参考:http://blog.didispace.com/consul-service-discovery-exp/1 Consul是什么Consul是基于GO语言开发的开源工具,主要面向分布式、服务化的系统提供服务注册、服务发现和配置管理的功能。Consul的功能都很实用,其中包括:服务注册/发现健康检查Key/Value存储多数据中心分布式一致性保证等。Consul本...原创 2020-02-02 20:44:28 · 271 阅读 · 0 评论 -
使用Feign调用服务接口
Feign是一个声明式的REST客户端。Feign具有可插拔的注解特性,支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。引入依赖使用Feign,需要引入spring-cloud-starter-openfeign依赖,同时为了配合 Consul,还要引入spring-cloud-starter-consul-discovery依赖:...原创 2020-02-10 14:33:47 · 2661 阅读 · 0 评论 -
SpringBoot集成MyBatis-Plus
官网:https://mp.baomidou.com/1 简介MyBatis-Plus 是一个Mybatis的增强工具,在 MyBatis 的基础上只做增强不做改变。也就是说,引入了MyBatis-Plus之后,如果不想使用它的功能,也不会影响MyBatis的使用。MyBatis-Plus的特性在官网有详细说明。传送门MyBatis-Plus最大的方便之处就是提供了通用的Mapper和Service,只需要通过简单的继承就可以支持单表大部分的CRUD操作,大大提高了开发效率。2 Spri.原创 2021-09-11 17:08:24 · 1898 阅读 · 2 评论 -
DispatcherServlet源码解析(未完,待续)
SpringBoot版本:2.3.1.RELEASE1 DispatcherServletAutoConfigurationDispatcherServlet在SpringBoot中的自动装配是由DispatcherServletAutoConfiguration完成的。源码:// 指定自动配置类的优先级顺序,DispatcherServletAutoConfiguration在自动配置类中拥有最高优先级@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENC.转载 2020-07-14 11:15:01 · 502 阅读 · 0 评论 -
【SpringBoot笔记17】使用JMS操作ActiveMQ
ActiveMQ版本:5.15.111 JMS原始API操作ActiveMQ1.1 queue点对点模式ActiveMqConfig.java:package com.tao.springbootdemo.mq.activemq;import org.apache.activemq.ActiveMQConnection;/** * activemq的配置 */public...原创 2020-01-20 14:59:23 · 517 阅读 · 0 评论 -
【SpringBoot笔记3】使用外部tomcat容器发布war包
翻译:官方文档第92.1节注意:因为Spring WebFlux不直接依赖于Servlet API,应用直接部署到内置的嵌入式Reactor容器Netty Server上,因此Spring WebFlux应用不支持war形式的部署。通常,SpringBoot提供了内置嵌入式tomcat容器,因此可以直接将SpringBoot应用打包成jar包,并通过java -jar运行。但是,如果想...翻译 2018-12-10 18:28:32 · 662 阅读 · 0 评论 -
【SpringBoot笔记7】SpringBoot整合undertow、MySQL、Druid、Spring Data JPA
参考:Druid常见问题Wikihttps://blog.csdn.net/huaidandaidai1/article/details/809605731 整合与配置1.1 引入依赖Druid官方提供了一个druid-spring-boot-starter 包,用以简化在SpringBoot中集成Druid ,首先在pom.xml中引入它:&lt;!-- 整合Druid --&g...原创 2018-12-16 16:41:48 · 660 阅读 · 0 评论 -
【SpringBoot笔记6】SpringBoot整合Mybatis和PageHelper
参考:官方文档http://www.ityouknow.com/springboot/2016/11/06/spring-boo-mybatis.html1 无xml整合无xml整合就是不使用*.xml文件,全部都是用注解来绑定SQL。1.1 引入mybatis-spring-boot-starterSpringBoot整合Mybatis,首先需要引入mybatis-spring-...原创 2018-12-16 01:12:41 · 1096 阅读 · 0 评论 -
【SpringBoot笔记5】SpringBoot系统日志以及集成Logback配置
参考:SpringBoot官方教程http://blog.didispace.com/springbootlog/http://www.mkyong.com/spring-boot/spring-boot-slf4j-logging-example/1 SpringBoot内置日志系统SpringBoot对所有内部日志的记录使用的是Commons Logging,但是它的底层日志实现...原创 2018-12-15 21:29:54 · 460 阅读 · 0 评论 -
【SpringBoot笔记2】在应用启动时干点事儿
在使用SpringBoot搭建项目时,有时需要在项目启动时做一些事情,比如初始化数据库、加载配置文件等等。SpringBoot为我们提供了以下几种方案供我们选择:实现ApplicationRunner接口或者实现CommandLineRunner接口利用Spring的事件机制1 实现ApplicationRunner或CommandLineRunner接口如果需要在Applicati...原创 2018-12-09 21:50:09 · 789 阅读 · 0 评论 -
【SpringBoot笔记1】@SpringBootApplication注解
1 简介在SpringBoot 的启动类里,默认使用了一个注解@SpringBootApplication:@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class,...原创 2018-12-09 00:55:53 · 1106 阅读 · 0 评论 -
Spring Data JPA 之 JpaRepository
JpaRepository是Spring提供的非常强大的基本接口。1 JpaRepository1.1 JpaRepository接口定义JpaRepository接口的官方定义如下:public interface JpaRepository<T, ID> extends PagingAndSortingRepository<T, ID>, Q...原创 2018-04-01 23:54:20 · 59695 阅读 · 5 评论 -
【SpringBoot笔记4】外置配置
SpringBoot允许你外置化项目的配置信息,你可以使用properties文件、YAML文件、环境变量、命令行参数来设置配置信息。1 优先级SpringBoot提供多种外部配置方式,这些方式的优先级如下(由高到低):命令行参数来自java:comp/env的JNDI属性Java系统属性(System.getProperties())操作系统环境变量RandomValueProp...原创 2018-12-10 18:31:36 · 519 阅读 · 0 评论 -
【SpringBoot笔记8】Spring AOP 面向切面编程(应用篇)
参考:官方文档本文使用的是SpringBoot框架!!!Spring从2.0版本开始引入AOP(面向切面编程)。AOP在Spring Framework中的作用是:提供声明式的企业服务,Spring提供的声明式事务管理就是其中最重要的一个服务。让用户能够实现自定义的切面,应用AOP丰富他们的OOP应用。在SpringBoot中,为了使用AOP功能,需要引入spring-boot...翻译 2018-12-31 17:32:29 · 1597 阅读 · 2 评论 -
【SpringBoot笔记16】使用JdbcTemplate和NamedParameterJdbcTemplate操作数据库
参考:官方教程#1 JdbcTemplate基本用法1.1 查询查询记录条数String sql = "select count(*) from tb_user";int count = jdbcTemplate.queryForObject(sql, Integer.class);按条件查询记录条数,通过?参数绑定String sql = "select coun...原创 2019-09-04 09:42:25 · 3442 阅读 · 0 评论 -
【SpringBoot笔记15】@ComponentScan源码分析
版本:SpringBoot 2.1.7.RELEASE1 @ComponentScan的作用@ComponentScan注解是用来告诉Spring框架应该去哪里扫描被@Component注解注释的类,并将这些类注册成Spring容器中的bean的。@ComponentScan注解通常与@Configuration注解一起使用。2 @ComponentScan源码分析@Componen...原创 2019-08-11 00:34:56 · 832 阅读 · 0 评论 -
【SpringBoot笔记14】Spring中的事务管理(合集)
翻译:官方文档1 事务管理Spring框架提供的强大的功能之一就是其全面的事务管理能力。Spring框架为事务管理提供了统一的抽象层,有以下几方面的好处:在不同的事务管理APIs之间建立了一致的编程模型。这些事务管理APIs包括了Java Transaction API(JTA)、JDBC、Hibernate、Java Persistence API(JPA)。支持声明式事务管理。...翻译 2019-01-20 23:20:41 · 300 阅读 · 0 评论 -
【SpringBoot笔记13】Spring容器提供的扩展点
参考:官方文档1 容器扩展点通常,开发者不需要去实现ApplicationContext接口,Spring提供了很多接口用于扩展容器的功能。1.1 BeanPostProcessor接口BeanPostProcessor接口定义了回调方法,您可以实现这些方法来提供自己的(或覆盖容器的默认)实例化逻辑、依赖项解析逻辑,等等。如果您想在Spring容器完成bean的实例化、配置和初始化之后...翻译 2019-01-13 22:19:03 · 1625 阅读 · 0 评论 -
【SpringBoot笔记12】实现xxxAware接口
1 Aware接口Aware 的本意是感知。当bean实现了对应的Aware接口,BeanFactory 就会在产生这个bean的时候根据对应的Aware接口,给这个bean注入相应的属性,这样bean就能够获取外界资源的引用了。1.1 ApplicationContextAware 和 BeanNameAware1.1.1 ApplicationContextAware接口当一个bean...翻译 2019-01-13 17:39:32 · 1238 阅读 · 0 评论 -
【SpringBoot笔记11】Spring框架提供的生命周期回调
1 Spring框架中的生命周期回调Spring框架提供了一些接口,能够让bean感知生命周期。1.1 Bean的生命周期回调Spring容器提供了两个接口可以让容器管理的bean感知生命周期:InitializingBean:提供了一个回调函数afterPropertiesSet(),在bean初始化的时候被调用。DisposableBean:提供了一个回调函数destroy(),在...翻译 2019-01-13 17:01:15 · 1198 阅读 · 1 评论