AlibabaSpring Cloud Alibaba Nacos配置中心
上一节Spring Cloud Alibaba Nacos注册中心记录了Nacos作为注册中心的使用方式,这节继续记录下Nacos作为配置中心的使用方式。 新建一个Spring Boot项目,artifactId为spring-cloud-alibaba-nacos-config,项目的pom内容: 因为这节记录的是Nacos作为配置中心的功能,所以引入的是spring-cloud-alibaba-nacos-config依赖。
开发工具Maven聚合工程的创建和聚合工程的打包
Maven管理项目的时候,我们通常将一个业务作为一个单独的子业务进行开发处理,这样就需要使用到了聚合打包和聚合工程的创建问题了。在现在的互联网公司,一般是这个开发模式,对于传统的对日开发中,仍然是一个项目,下面一堆数据,我觉得还是maven这种项目管理起来更加的方便快捷。父类项目的作用,可以简单来讲,就是给各个子项目提供了相同的jar包配置,以及子项目包信息。 这里我们使用idea来创建这样的工程。 打开idea,点击【Create New Project】
AlibabaSpring Cloud Alibaba Nacos注册中心
Nacos 是一款集服务发现、服务健康监测、动态配置服务、动态 DNS 服务、服务及其元数据管理于一身的开源软件,这节主要记录Nacos的服务注册发现功能的使用。借助Spring Cloud Alibaba Nacos Discovery,我们可以轻松地使用Spring Cloud编程模型体验Nacos的服务注册发现功能。本节使用的Spring Cloud Alibaba版本为2.2.3.RELEASE,Spring Boot版本为2.3.2.RELEASE。 官方参考文档
SpringCloudSpring Cloud Consul服务治理
Consul是一款由HashiCorp公司开源的,用于服务治理的软件,Spring Cloud Consul对其进行了封装。Consul具有如下特点: Consul agent有两种运行模式:Server和Client。这里的Server和Client只是Consul集群层面的区分,与搭建在Cluster之上 的应用服务无关。 以Server模式运行的Consul agent节点用于维护Consul集群的状态,官方建议每个Consul Cluster至少有3个或以上的运行在Server mode的Agent,Client节点不限。 Consul下载地址: https://www.consul.
SecuritySpring Security OAuth2入门
OAuth是一种用来规范令牌(Token)发放的授权机制,主要包含了四种授权模式:授权码模式、简化模式、密码模式和客户端模式。Spring Security OAuth2对这四种授权模式进行了实现。这节主要记录下什么是OAuth2以及Spring Security OAuth2的基本使用。 在了解这四种授权模式之前,我们需要先学习一些和OAuth相关的名词。举个社交登录的例子吧,比如在浏览器上使用QQ账号登录虎牙直播,这个过程可以提取出以下几个名词: Third-party application 第三方应用程序,比如这里的虎牙直播; HTTP service HTTP服务提供商,比如这里的QQ(腾讯); Resource Owner 资源所有者,就是QQ的所有人,你; User Agent 用户代理,这里指浏览器; Authorization server 认证服务器,这里指QQ提供的第三方登录服务; Resource server 资源服务器,这里指虎牙直播提供的服务,比如高清直播,弹幕发送等(需要认证后才能使用)。 认证服务器和资源服务器可以在同一台服务器上,比如前后端分离的服务
SpringCloud使用Spring Cloud Sleuth跟踪微服务
在微服务数量较多的系统架构中,一个完整的HTTP请求可能需要经过好几个微服务。如果想要跟踪一条完整的HTTP请求链路所产生的日志,我们需要到各个微服务上去查看日志并检索出我们需要的信息。随着业务发展,微服务的数量也会越来越多,这个过程也变得愈发困难。不过不用担心,Spring Cloud Sleuth为我们提供了分布式服务跟踪的解决方案,通过使用Sleuth可以让我们快速定位某个服务的问题。简单来说,Sleuth相当于调用链监控工具的客户端,集成在各个微服务上,负责产生调用链监控数据。官方文档地址如下: https://cloud.spring.io/spring-cloud-static/s
SpringCloud使用Spring Cloud Bus刷新配置
在《Spring Cloud Config统一配置管理》中,我们实现了通过往Config-Client发送/refreshPOST请求来刷新配置。不过这种方式只对单个Config-Client有效(往哪个Config-Client发送刷新请求,哪个配置就得到刷新,剩下的Config-Client获取的仍是旧的配置信息)。当Config-Client实例集群数量较多时,如果都要手动一个一个去刷新配置,不仅麻烦还容易遗漏。值得庆幸的是,我们可以借助Spring Cloud Bus来自动刷新集群的配置信息。 Spring Cloud Bus使用轻量级的消息代理(如RabbitMQ,Kafka)连接分布式系统的节点,可以以广播的形式将一些变更信息(如配置的变更)扩散到分布式链路中去。所以我们可以在Config-Server和Config-Client集群中加入Spring Cloud Bus,然后往某个Config-Server实例发送/refresh请求来刷新集群中所有实例的配置信息。 在引入Spring Cloud Bus之前,我们先来简单验证下开头的结论。我们用上一节的源码为基础,来搭建
javaJAVA中的Map遍历
这篇文章主要介绍了JAVA8独有的map遍历方式(非常好用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。 通过Map.keySet遍历key和value 通过Map.entrySet遍历key和value
SecuritySpring Security权限控制
Spring Security权限控制可以配合授权注解使用,接着上一节,要开启这些注解,只需要在Spring Security配置文件中添加如下注解: 在UserDetailService中,我们给当前登录用户授予了”admin”的权限,我们将这块代码改造一下:当登录用户为wno704的时候,其拥有”admin”权限,其他用户则只有”test”权限: 添加一个方法,并且使用权限注解标明只有拥有“admin”权限的人才能访问: