![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 82
多云的夏天
读小说一样读代码
展开
-
springcloud-zookeeper-单机版-centos8 安装
1.zookeeper 下载解压2.修改配置文件 conf 下的配置文件3.修改 /etc/profile文件4.服务启停5.权限不够:解决方法6.启动失败可能原因:7.启动成功8.安装前提:要有JDK,要关防火墙1.zookeeper 下载解压:2.修改配置文件 conf 下的配置文件我的配置文件:zookeeper下载路径: /home/tang/下载/springcloud/zookeeper-3.4.9 zookeeper安装路径:/home/tang/Environmen原创 2021-03-29 10:02:03 · 106 阅读 · 0 评论 -
JAVA(22)-Spring-框图
1.框图2.new与反射原创 2020-10-14 12:02:24 · 132 阅读 · 0 评论 -
JAVA(21)-centos-strace
如何在linux下追踪BIO程序。linux是一个文件系统,系统内核的运行会以文件的形式存储,我们可以通过文件系统来查看。1.BIO程序2.追踪这个程序,看内核是怎么处理这个进程的。1.BIO程序public class SocketBIO { public static void main(String[] args) throws IOException { ServerSocket server=new ServerSocket(9090);//1599 .原创 2020-09-30 20:37:58 · 180 阅读 · 0 评论 -
JAVA(20)-AIO-BIO-NIO-NETTY
AIO BIO NIO Netty 过程 异步,非阻塞 阻塞,来一个创建一个客户端 阻塞是在accept() 不阻塞 1.boss 只接收 2.work 用来干活 3.group 告诉你这是一组的 open().bind() .accpet() ss.accept() //1.添加客户端 //2.遍历链表 new thread() clients.add() ...原创 2020-09-30 20:36:50 · 107 阅读 · 0 评论 -
redis(0)-win10-centos8 安装
windows安装1.下载2.启动redis3.常错现象Creating Server TCP listening socket 127.0.0.1:6379: bind: No error1.下载:https://github.com/tporadowski/redis/releases服务器 客户端check aof 检查AOF 持久化的文件 benchmark 测试性能的2.启动redis1.cmd命令: 跳转到其它盘 命令: d: 进入文件夹 cd...原创 2020-09-05 12:13:18 · 128 阅读 · 0 评论 -
springcloud-rabbitMQ安装-windows版
安装rabbitMQ步骤其实很简单快捷,exe一路next基本可以了。主要是版本匹配.本人用发篇日官网上最新的两个版本,出错,跑不起来。下面给出一个可以跑的做示例。1.环境:erlang安装包下载:http://erlang.org/download/ 版本:opt_win64_21.3.exe rabbitmq_server: https://dl.bintray.com/r...原创 2020-08-29 21:19:55 · 151 阅读 · 0 评论 -
springcloud-alibaba-Sentinel(0)-安装
1.下载地址2.运行命令3.浏览器进入管理界面此文部分截图来自网络1.下载地址 github.com/alibaba/sentinel/releases官网:Spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html#_spring_cloud_alibaba_sentinel2.运行命令 java -jar sentinel-dashboard-1.7.0.jar...原创 2020-08-27 22:07:26 · 101 阅读 · 0 评论 -
springcloud-alibaba-nacos(0)-windows-centos安装
1.下载2.解压3.windwos安装与验证4.centos安装与验证1.下载https://github.com/alibaba/nacos windows https://github.com/alibaba/nacos/releases/tag/1.3.2linux2.解压3.windwos安装与验证 3.1查看文件3.2启动 命令行:bin/startup.cmd3.3 验证安...原创 2020-08-27 19:38:00 · 105 阅读 · 0 评论 -
springcloud(23)-bus+config(2)
消息触发有两种方式:1.发消息到中心->各客户端2.一个客户端产生消息->广播各处 两截图,来自于网络。RabbitMQ的实现1.消息中心 server2.client3.测试1.消息中心 server Pom <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>...原创 2020-08-26 21:46:18 · 119 阅读 · 0 评论 -
springcloud(22)-bus+config-github-配置自动刷新-实现步骤
把配置文件统一放在github上集中配置。比如数据库配置文件,这样不用挨个修改每个微服务的配置,一处更改,多处生效。github上如何建仓不赘述了。1.configserver实现2.client实现(动态刷新 @RefreshScope)1.config-server实现 1.1POM <dependency> <groupId>org.springframework.cloud</groupId> ...原创 2020-08-26 21:19:37 · 259 阅读 · 0 评论 -
springcloud(21)-Bus
1.BUS是什么?2.BUS能干什么?1.BUS是什么? 消息总线 2.结构2.BUS能干什么?原创 2020-08-26 20:48:18 · 102 阅读 · 0 评论 -
springCloud(20)-GateWay(2)-静态路由-动态路由
1.静态路由 1.1配置实现 1.2bean实现2.动态路由 通过微服务名称而不是localhost:1.静态路由 1.1配置实现 1.2bean实现config.GateWayConfig-RouteLocatorBuilder //当访问地址http://localhost:9527/guonei时,会自动转发到地址 http://news.baidu.com/guonei@Configurationpublic class GateWayConfig{ ...原创 2020-08-23 22:00:20 · 584 阅读 · 0 评论 -
springCloud(19)-GateWay(1)-模块实现
1.POM.XML<!--gateway--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <!--eureka原创 2020-08-23 21:35:21 · 273 阅读 · 0 评论 -
springCloud(18)-Hystrix-provider-熔断-@HystrixCommand
Provider实现熔断(是否断,请求次数,请求窗口期,请求失败率)。 比如1分钟内,每一秒请求一次,失败了60次,就启用熔断。1. 改payment8001的service即可。@Servicepublic class PaymentService{//=====服务熔断 @HystrixCommand(fallbackMethod = "paymentCircuitBreaker_fallback",commandProperties = { ...原创 2020-08-23 13:28:02 · 120 阅读 · 0 评论 -
springCloud(17)-Hystrix-consumer实现+controller层降级+service层降级
1.consumer 1.1POM 1.2YML 1.3主启动类+注解@SpringBootApplication @EnableFeignClients @EnableHystrix 1.4测试2.consumer端controller 降级处理defaultProperties 2.1yml 2.2主启动类@EnableHystrix 2.3业务类 a)添加降级处理函数 b)关联 c)设定降级条件 2.4...原创 2020-08-23 06:20:33 · 317 阅读 · 0 评论 -
springCloud(16)-hystrix-熔断框架的provider实现
hystrix是什么?网上截了个屏幕官网地址:Https://github.com/Netflix/Hystrix/wiki/How-To-Use1.三种处理:降级、熔断、限流2.实现,以cloud-providr-hystrix-payment8001为例实现1.依赖POM.XML<!--hystrix--> <dependency> <groupId>org.springframework.cloud&..原创 2020-08-22 15:42:29 · 122 阅读 · 0 评论 -
springCloud(15)-OpenFign-超时实现
OpenFign调用超时实现步骤:1.provider timeout处理 改controller2.Consumer timeout处理 改service 和controller3.改application.yml配置OpenFign调用超时实现步骤:1.provider timeout处理 改controller@RestController@Slf4jpublic class PaymentController{ @GetMapping(value =...原创 2020-08-21 21:03:47 · 338 阅读 · 0 评论 -
springCloud(14)-consumer-OpenFign-@EnableFeignClients-@FeignClient
OpenFign:是什么? 一个声明式的web服务客户端,让编写Web服务客户端变的非常容易, 只需创建一个接口并在接口上添加注解即可。 Https://github.com/spring-cloud/spring-cloud-openfeigh实现步骤:1.pom.xml <!--openfeign--> <dependency> <groupId>org.springframework.cloud</groupId原创 2020-08-21 21:05:19 · 187 阅读 · 0 评论 -
springCloud(13)-Ribbon-consumer-负载均衡-@RibbonClient -RestTemplate
Ribbon 是干什么的,做负载均衡的。有很多个providers,我调用的是哪个呢?根据特点算法从服务列表中选取一个要访问的服务。consumer端的实现 consumer : 需要支持可设定算法的负载均衡功能 要改3个地方。下面以order80为例1.添加依赖:2.controller +-RestTemplate3.负载均衡策略的设定1.添加依赖: <dependency> <groupId>org.springframew..原创 2020-08-21 21:03:24 · 2896 阅读 · 0 评论 -
Spring-boot(2)-认证和鉴权-@EnableWebSecurity,WebSecurityConfigurerAdapter-AuthenticationManagerBuilder
spring-boot原创 2020-08-20 21:02:13 · 1550 阅读 · 0 评论 -
springCloud(12)-注册中心-consul
springCloud中集成了consul实现注册中心的功能。consul是go语言写的。1.环境搭建2.建provider,并实现注册3.建consumer,并实现注册1.环境搭建官网:Https://www.consul.io/intro/index.html下载: https://www.consul.io/downloads.html 查看安装情况只要consul --version 出版本号即可。1.2 启动 consul agent -dev1....原创 2020-08-19 19:05:39 · 133 阅读 · 0 评论 -
springCloud(11)-consumer-获取providers信息-DiscoveryClient-@EnableDiscoveryClient
consumer可以通过provider提供的controller 是可以查到注册中心所有providers和providers的信息的。1.provider 的controller 添加服务发现 用DiscoveryClient2.provider 的主程序上添加 @EnableDiscoveryClient()3.测试1.provider 的controller 添加服务发现 用DiscoveryClient @Resource private Dis...原创 2020-08-19 19:05:08 · 385 阅读 · 0 评论 -
springcloud(10)-eureka-providrs集群-@LoadBalanced-默认负载均衡轮询策略
provider是多个的,consumer如何实现调用?eureka默认负载均衡方式是轮询 通过端口号来区分调用的。1.写至少两个provider 8001,80022.Provider :Controller里的端口号从配置文件中读取,实现动态获取。3.consumer:Controller里的端口也要写成变量,实现动态获取。4.测试5.没做负载均衡默认策略设置的易错项1.写至少两个provider 8001,80022.Provider :Controller里的端口号从配置文件中读..原创 2020-08-19 19:04:50 · 652 阅读 · 0 评论 -
springCloud(9)-eureka 集群配置
我有两个eureka 注册中心,7001,7002,如何互相访问呢?1.分别建两个注册中心 7001,7002。2.给localhost添加别名 MAC下localhost 起别名:sudo vi /etc/hosts3.改application.YMLa) 单机的yml格式 b)集群 7001server: port: 7002 #自己是7002eureka: instance: hostname...原创 2020-08-18 19:16:14 · 147 阅读 · 0 评论 -
springCloud(7)-工程重构-POM中-GAV-名称顺序要一致
1.观察重构: 提取公共部分:提取entities2.新建重构部分: 比如: 新建module cloud-api-commons3.工具包供其它的包调用 3.1在相应MODULE的POM.XML的dependency中添加 3.2maven clean install 3.3 父中POM.XML 和各个Module中POM.xml中的GAV要一致名称,顺序要一样。切记切记 否则出现如下错误:...原创 2020-08-18 19:16:49 · 267 阅读 · 0 评论 -
springClound(8)-idea-dashboard配置
1.添加Services2.添加services原创 2020-08-18 19:16:32 · 90 阅读 · 0 评论 -
springCloud(5)-RestTemplate
RestTemplate提供了多种便捷访问远程HTTP服务的方法。1.官网https://docs.spring.io/spring-framework/docs/5.2.2.RELEASE/javadoc-api/org/springframework/web/client/RestTemplate.html2.使用(Url,requestMap,ResponseBean.class)请求地址、请求参数、HTTP响应转换被转换成的对象类型3.config类编写@Configuration.原创 2020-08-17 21:39:08 · 164 阅读 · 0 评论 -
springCloud(4)-热部署-Devtools
所谓热部署就是一边改代码一边生效。4步走:1.添加jar包2.添加插件3.开启自动编译的权限4.更新值1.添加jar包 直接粘到Pom.xml中 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> ...原创 2020-08-16 11:03:30 · 110 阅读 · 0 评论 -
springCloud(H版&alibaba)(3)-测试-POSTMAN-基本使用
chrome一般对于POST的支持并不好。POSTMAN是款很好用的测试软件.POST,GET用的最多。1.读取http://localhost:8001/payment/get/312.插入数据http://localhost:8001/payment/create?serial=tang002POSTMAN的使用1.下载软件2.创建collection3.创建文件夹用于整个工程4.创建request输入url5.GET 请求,成功后显示如下6.POST请求,成功后显示7.get...原创 2020-08-16 08:04:18 · 496 阅读 · 0 评论 -
springCloud(H版&alibaba)(2)-helloWorld-5步走
微服务程序5步走:1.建Module2.改POM3.写yml4.主启动5.业务类1.建Moduleproject->new->module2.改POM<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" .原创 2020-08-14 22:27:58 · 165 阅读 · 0 评论 -
springCloud(H版&alibaba)(1)-MAVEN-dependencyManagement
项目依赖与版本管理1.dependencyManagement2.dependency1.dependencyManagement 1.1只在父POM.xml中才会需要它,子项目不需要1.2 父中只声明,不实现 每个子项目得有自己的POM.XML 子项目:父依赖项+没写版本号 才会继承父。2.dependency 2.1 版本号子项目中要用,不指定, 用父版本号, ...原创 2020-08-14 21:07:20 · 158 阅读 · 0 评论 -
springCloud(H版&alibaba)(0)-概述-版本选择
springboot 和springCloud 版本不匹配会导致很多问题,所以首先要弄清版本及其匹配关系。1.查看官网,最下面有匹配说明 我这的H版就是下图所示在可以查看具体的更新信息.文件是JSON格式,需要用json工具格式化一下。看,这是现在的版本。...原创 2020-08-14 21:07:48 · 194 阅读 · 0 评论 -
Dubbo(0)-概述-三种配置方式-XML-注解-API
1.Dubbo 概述2. 3种配置方法 2.1基于XML配置 2.2基于注解的配置 2.3基于API的配置1.Dubbo 概述 Dubbo 是还蛮火的RPC框架,消费者服务者模式。与rest可以跨语言调用不同,Dubbo只限于两者都是JAVA调用。下图为基本框架图。 2. 三种配置方法 dubbo项目除了一堆依赖外pom.xml还是要添加下DemoService 这个公共接口的。<dependency> <...原创 2020-08-14 21:06:57 · 213 阅读 · 0 评论 -
Spring-boot(1)-idea-helloworld
1.创建(两种方式) 1.1网站生成基础包 1.2idea创建项目2.程序的最简单结构2.1程序的主入口2.2配置文件2.3如何启动2.4同级目录下添加package2.5添加Controller2.6浏览器访问2.7注解说明2.8核心之pom.xml说明2.9打包2.10执行jar包1.创建(两种方式) 1.1网站生成基础包 https://start.spring.io/ 进入quickstart页面,配置好后 generate文件复制到工程目...原创 2020-08-06 20:02:22 · 184 阅读 · 0 评论 -
SSM(7)-mybatis整合
分三步走:1.导入jar包:2.写配置文件:mybatis-config.xml和mapper映射文件3,JAVA类实现与调用1.导入jar包: 1.1junit 1.2mybatis 1.3mysql-connector-java 1.4spring相关 1.5aspectJ AOP 织入器 1.6mybatis-spring整合包2.写配置文件:mybatis-config.xml和mapper映射文件mybatis-config.xml<?xml version="1.0" .原创 2020-08-05 22:16:16 · 208 阅读 · 0 评论 -
SSM(6)-动态代理-InvocationHandler-Proxy
承接上篇动态的是什么:1. 被代理的对象Object target 2.处理的方法method.getName()InvocationHandler Proxy实现步骤:1.写一个handler用来处理被代理对象,分4步public class ProxyInvocationHandler implements InvocationHandler { //1.被代理的接口 从具体到抽象的过程 pri...原创 2020-08-05 21:40:04 · 150 阅读 · 0 评论 -
SSM(5)-静态代理-动态代理
静态代理:1.我有一个功能类,实现增删改查,先写接口和实现,然后写个tes类调用,如下代码public interface UserService { public void add(); public void delete(); public void update(); public void query();}public class UserServiceImpl implements UserService { @Override .原创 2020-08-05 21:27:16 · 203 阅读 · 0 评论 -
SSM(5)-AOP-使用注解实现
承接上篇,第三种方式,使用注解实现1.编写注解增强类(此篇是在前篇的基础上做的差异性描述)2.配置beans.xml3.写个测试类1.编写注解增强类@Aspectpublic class AnnotationPointcut { @Before("execution(* com.service.UserServiceImpl.*(..))") public void before(){ System.out.println("---------方法执行前---.原创 2020-08-05 21:13:47 · 239 阅读 · 0 评论 -
SSM(4)-AOP-自定义类来实现Aop
承接上篇,第二种方式,用自定义类来实现1.自定义一个JAVA类(此篇是在前篇的基础上做的差异性描述)2.配置beans.xml3.写个测试类1.写个JAVA类public class myPointcut { public void before(){ System.out.println("---------方法执行前---------"); } public void after(){ System.out.println("-------原创 2020-08-05 21:08:13 · 139 阅读 · 0 评论 -
SSM(3)-AOP-spring API实现方法
AOP简单了说就是跨越应用程序多个模块的方法或功能。网上截了两张图给出说明:5种逻辑:实现方法一共3种:Spring API ,自定义类来实现Aop,使用注解实现 本篇实现的是第一种方法。无论哪种方法都是3步走,只是语法不一样。1.写JAVA类2.配置beans.xml3.写个测试类测试一下。在网上找了个例子应该是可以说清楚这个问题了。1.写了4个JAVA 类public interface UserService { public void add(); publ.原创 2020-08-05 21:01:16 · 137 阅读 · 0 评论