03 2019 档案
摘要:idea 如何加入插件SonarLint IDEA的插件安装有两种方法:一是在线安装;二是离线安装,即将插件的安装包下载以后从本地安装。 一、在线安装的过程: 1、打开IDEA,选择"File"下的"Settings"; 2、选择"Settings"上的"Plugins",并选择"Browse repositories"; 3、在打开的"Br...
阅读全文
摘要:window 杀固定端口的进程 一、 查看所有进程占用的端口 在开始-运行-cmd,输入:netstat –ano可以查看所有进程 二、查看占用指定端口的程序 当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知道是哪个程序或进程占用了端口,可以用该命令 netstat –ano|findstr "指定端口号" 二、查看占用指定端口的程序 当你在用to...
阅读全文
摘要:File->setting输入MAVEN 看到右侧设置情况 Maven home directory 熟路本地moven 仓库目录:D:/springboot/apache-maven-3.5.4 User setting file设置为:本地maven下的settings.xml:我的机器如下:D:\springboot\apache-maven-3.5.4\co...
阅读全文
摘要:Eclipse 使用springboot框架 环境的安装 1、下载java1.8,安装并配置环境变量环境变量增加java的安装目录到环境变量中path中增加%JAVA_HOME%/bin增加变量java_homeC:\ProgramFiles\Java\jdk1.8.0_181CLASSPATH.;./bin测试cmd中使用java-version测试是否安装成功,设置成功2...
阅读全文
摘要:spring cloud链路追踪组件sleuth 主要作用就是日志埋点 操作方法 1、增加依赖 org.springframework.cloud spring-cloud-starter-sleuth 2、访问http://192.168.136.128:8651/api/v1/...
阅读全文
摘要:1、登录dockerdockerecex–it容器名/容器id/bin/bash例如:dockerexec–ittomcat/bin/bash1)、使用dockerattach进入Docker容器,存在多个窗口同步和拥塞问题sudodockerattach44fc...
阅读全文
摘要:dockers学习 2019年2月23日开始 docker系统要求 centos 7 核心为3.1以上 centos6.5以上 核心为 2.6以上 centos版本查看 centos版本查看:cat /etc/redhat-release centos内核版本查看:cat /proc/version ...
阅读全文
摘要:lvs+keepalived+nginx实现高性能负载均衡集群 一、为什么要使用负载均衡技术? 1、系统高可用性 2、系统可扩展性 3、负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查,故障转移,提高系统的可用性!采用这样的架构以后很容易对现有系统进行扩展,只要在后端添加或者减少realse...
阅读全文
摘要:使用google的guova开发高并发下的接口限流 使用google的guova进行限流 1、guova的限流方式,在定时产生定量的令牌,令牌的数量限制了流量 2、增加一个订单接口限流类OrderRateFilter,继承ZuulFilter,并重载方法;filterType、filterOrder、shouldFilter、run filterType中return PRE_TYPE; ...
阅读全文
摘要:使用网关zuul过滤器登录鉴权 1、新建一个filter包 filte有很多种 pre、post。 2、新建一个类LoginFilter,实现ZuulFilter,重写里面的四个方法(可以根据业务建很多个过滤器filter) filterType/filterOrder/shouldFilter/run 1)、filterType返回...
阅读全文
摘要:spring cloud中代理服务器zuul的使用 主流网关: zuul kong 基于nginx的API Gateway nginx+lua 1、新建项目,选择eureka discovery 和zuul 2、启动类中增加 @EnableZuulProxy 3、修改配置文件后缀名为yml,并在配置中增加端口号、应用名称和注册中心地址,如下: server:...
阅读全文
摘要:断路器Dashboard监控仪表盘的使用 在原有的orderserverfeignhystrix服务中使用 1、增加依赖仓库 org.springframework.cloud spring-cloud-starter-netflix-hystrix-dashboard ...
阅读全文
摘要:一、final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 final成员变...
阅读全文
摘要:spring cloud使用redis 增加监控,微服务的监控体系特别重要,这里增加了告警(使用thread异步告警),同时不能短时间内不能重复告警(使用redis避免重复) 1、增加依赖 org.springframework.boot spring-boot-starter-data-redis 2、配...
阅读全文
摘要:1、下载 Window 下载地址:https://github.com/MSOpenTech/redis/releases 查找版本对应的一个MSI或者zip文件下载 2、安装 MSI文件需要安装 zip文件解压后可直接运行 3、启动: 打开 cmd 窗口 ,使用cd命令,进入redis目录到(例如:C:\redis)运行 redis-server.exe,启动服务。不能关闭cmd窗口,关闭后,r...
阅读全文
摘要:使用Hystrix熔断(下) 在一个分布式系统里,一个服务依赖多个服务,可能存在某个服务调用失败, 比如超时、异常等,如何能够保证在一个依赖出问题的情况下,不会导致整体服务失败, copy orderserverfeign项目,并更名为orderserverfeignhystrix 在项目右键修改名称 pom中修改artifactId为 ...
阅读全文
摘要:redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。...
阅读全文
摘要:在大中型分布式系统中,通常系统很多依赖(HTTP,hession,Netty,Dubbo等),如下图: 在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖有很多不可控问题:如网络连接缓慢,资源繁忙,暂时不可用,服务脱机等. 如下图:QPS为50的依赖 I 出现不可用,但是其他依赖仍然可用. 当依赖I 阻塞时,大多数服务器的线程池就出现阻塞(BLOCK),影响整...
阅读全文
摘要:Feign 是一个声明式的伪RPC的REST客户端,它用了基于接口的注解方式,很方便的客户端配置,刚开始使用时还不习惯,感觉是在客户端写服务端的代码,Spring Cloud 给 Feign 添加了支持Spring MVC注解,并整合Ribbon及Eureka进行支持负载均衡。 Feign的使用很简单,有以下几步: 1、添加依赖 2、启动类添加@EnableFeignClients 注解支持...
阅读全文
摘要:浅谈Spring Cloud Ribbon的原理 Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需...
阅读全文
摘要:Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。 Eureka包含两个组件:Eureka Server和Eureka Client。 Eureka...
阅读全文
摘要:Spring cloud 的各类组件 1、注册中心 eureka 2、ribbon 3、feign 4、hystirx 断路器 5、高速缓存器 redis 6、断路器Dashboard监控仪表盘
阅读全文
摘要:使用Hystrix熔断(上) 在一个分布式系统里,一个服务依赖多个服务,可能存在某个服务调用失败, 比如超时、异常等,如何能够保证在一个依赖出问题的情况下,不会导致整体服务失败, 使用实现降级 1、复制项目并修改为新项目 copy orderserver 为orderserverhystrix 在项目右键修改名称orderserver为orderserv...
阅读全文
摘要:通过feign实现订单中心(feign调用服务,在orderservice中调用product-server) 1、copy orderserver 为orderserverfeign 2、并使用idea打开 3、将服务增加个feign 在项目右键修改名称orderserver为orderserverfeign 4、打开端口为8661 yml中的端口修改...
阅读全文
摘要:增加订单服务 一、新建项目: 1、创建order_service项目 2、开发伪下单接口 3、使用ribbon. (类似httpClient,URLConnection) 启动类增加注解 @Bean @LoadBalanced publi...
阅读全文
摘要:注册中心配置客户端(注册一个虚拟的商品服务) 一、新建项目: 1、创建一个SpirngBoot应用,增加服务注册和发现依赖 2、模拟商品信息,存储在内存中 3、开发商品列表接口,商品详情接口 4、配置文件加入注册中心地址 二、操作方法: 1、file->new->project Spring Initializer ->defa...
阅读全文
摘要:操作: 1、file->new->project Spring Initializer ->default 点击next 2、输入 Group 项目名称一般为因为小写字母和数字结合 Artifact具体组件 小写字母组合 Type 选择 Maven Project 其他的默认...
阅读全文
摘要:无法编译 Java版本不一致 Setting所有涉及java版本的均改为现有版本(例如1.8,里面有的显示8) Project Modules Library SDKS Project structure Java compiler 中project bytecode version 和traget bytecode version 均要设置正确的java版本 Maven版本设置 ...
阅读全文
摘要:IDEA编译时出现 Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8 1、 1.ProjectStructure下(File->Project Structure...) Sources选项卡->Languate level Dependencies选项卡->Module SDK 2、Settings下找到Jav...
阅读全文