自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liang

笔记博客,记录学习

  • 博客(64)
  • 资源 (3)
  • 收藏
  • 关注

原创 SpringCloud6-zuul路由网关

什么是API网关在微服务架构中,通常会有多个服务提供者。设想一个电商系统,可能会有商品、订单、支付、用户等多个类型的服务,而每个类型的服务数量也会随着整个系统体量的增大也会随之增长和变更。作为UI端,在展示页面时可能需要从多个微服务中聚合数据,而且服务的划分位置结构可能会有所改变。网关就可以**对外暴露聚合API,屏蔽内部微服务的微小变动,**保持整个系统的稳定性。当然这只是网关众多功能中的一...

2020-04-25 18:28:49 461

原创 SpringCloud5--Hystrix断路器

前面咱们说到,一个复杂的分布式系统面临许多问题,每个服务都存在依赖关系,而这个依赖关系有时候可能会失败,而A调用B和C,B和C又调用其他服务,这种调用关系叫“扇出”,如果扇出的链条上有一个服务出现问题。就会造成“服务雪崩”服务雪崩当服务A的流量突然增加,服务A扛得住请求,服务B和服务C未必能扛得住这突发的请求。如果服务C因为抗不住请求,变得不可用。那么服务B的请求也会阻塞,慢慢耗尽服务B的...

2020-04-23 22:15:30 297

原创 SpringCloud4-Feign负载均衡

1.Feign是什么Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口,然后在上面添加注解。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。2.Feign能...

2020-04-17 01:32:54 471

原创 SpringCloud2--Eureka服务注册与发现

Eureka1.Eureka是什么2.Eureka基本架构和简单原理Eureka ServerEurekaClient3.Eureka三大角色和流程4.单个Eureka Server配置部署实例4.Eureka 的注解1.Eureka是什么Eureka是Netflix的一个子模块,也是核心模块之一。是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于...

2020-04-11 17:12:12 248

原创 SpringCloud3--Ribbon负载均衡 服务消费调用

1.Ribbon是什么Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端,一套基于HTTP和TCP的客户端负载均衡工具。Ribbon是Netflix发布的开源项目,通过Spring Cloud的封装,可以轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。R...

2020-04-11 17:01:02 422 1

原创 微服务概述与SpringCloud概述

文章目录1.什么是微服务?2.微服务技术栈有哪些3.微服务之间的通讯方式4.什么是SpringCloud5.springboot 和 springcloud的关系1.什么是微服务?微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相协作(通常是基于HTTP协议的RE...

2020-04-11 16:57:46 476

原创 springboot-配置篇02

SpringApplication将从以下位置加载application.properties文件,并把它们添加到Spring Environment中:当前目录下的/config子目录。 当前目录。 classpath下的/config包。classpath根路径(root)。优先级从高到低排序创建springboot工程时,application.properties默认...

2020-04-11 14:27:28 118

转载 携程Apollo统一配置中心的搭建和使用

https://blog.csdn.net/luhong327/article/details/81453001

2020-04-11 14:24:19 202

原创 幂等性问题和解决方法

在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求。这就需要考虑到一个幂等性问题。幂等性幂等性的概念是:任意多次执行所产生的影响均与一次执行的影响相同,即无论你请求了多少次,对数据库的影响都只能有一次,不能重复处理。所以,按照上面的理解,每次执行的结果都会发生变化,就是非幂等的。如下面三条sql,只有第三条是非幂等的。SELECT col1 FROM tab1 WHER col2=...

2020-04-11 12:00:01 10405 1

原创 docker-5常用安装和本地镜像发布阿里云

docker软件的安装一般都是以下步骤:搜索镜像-->拉取镜像-->查看镜像-->启动镜像-->停止容器-->移除容器安装tomcatdocker search tomcatdocker pull tomcatdocker run -it p 8080:8080 tomcat拉取镜像后可以使用images查看是否拉取成功安装mysqldocke...

2018-12-13 23:52:14 202

原创 docker-4 Dockerfile

什么是dockerfileDockerfile是用来构建Docker镜像的构建文件,是一系列命令和参数构成的脚本构建三步骤编写Dockerfile文件–>docker build–>docker run类比javamaven build–>jar–>java -jar ms…centos示例文件FROM scratchMAINTAINER The CentO...

2018-12-09 23:44:09 181

原创 dockr-3数据卷

Docker容器产生的数据,如果不通过docker commit生成新的镜像,使数据作为镜像的一部分保存下来,那么当容器删除后,数据将会不存在,所以出现了数据卷数据卷是什么?类似Redis的rdb和aof文件。卷指的是目录或者文件,存在于一个或多个容器中,由docker挂载到容器,其设计目的是为了数据的持久化,独立于容器的生命周期,所以Docker不会在容器删除时删除其挂载的数据卷数据卷能...

2018-12-04 00:20:29 225

原创 docker-2命令

Docker命令分类docker --help可以查看docker命令介绍docker的命令可以分为6类子命令分类子命令Docker环境信息info,version容器生命周期管理create,exec,kill,pause,restart,rm run,start,stop,unpauseDocker registry命令login,logout,p...

2018-11-30 00:39:29 260

原创 docker-1入门介绍

Docker是什么?Docker就是虚拟化的一种轻量级替代技术。Docker的容器技术不依赖任何语言、框架或系统,可以将App变成一种标准化的、可移植的、自管理的组件,并脱离服务器硬件在任何主流系统中开发、调试和运行(一次封装,到处运行)。即:在 Linux 系统上迅速创建一个容器(类似虚拟机)并在容器上部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级,非常方便。...

2018-11-11 16:10:36 250

原创 JAVA面试复习题

基础篇final, finally, finalize 的区别   final关键字,代表着不可变,可以保证他们在使用的过程中不被修改。     final修饰的数据,代表着初始化后永不可变,只能读取     final修饰的方法,代表任何继承类都没法进行方法重写     final修饰的类,代表不能派生子类,无法被继承   finally意味一定会被执行的块,通常与tr...

2018-11-06 12:12:19 1632 1

原创 rocketmq - 10 双主双从模式

双主双从模式比起双主模式要多了两台从机。其好处在于主节点宕机后,从节点可以继续对外提供已经同步到broker上面的消息。从节点有主节点数据的全量copy,并且2M-2S模式下我们可以进行水平扩展,增加消息中间件的吞吐量和消息堆积能力。关于多主多从模式,前面关于broker的集群有描述过异步复制和同步双写。异步复制性能高,但可能丢失毫秒级别的少量数据。同步双写性能比异步低百分之十,但不会有丢失数...

2018-08-28 13:49:02 2363 1

原创 rocketmq - 9 消息重试,消息幂等去重,消息模式

Rocketmq提供了消息重试机制,这是一些其他消息队列没有的功能。我们可以依靠这个优秀的机制,而不用在开发中增加更多的业务代码去实现消息重试Consumer 消费消息失败后,要提供一种重试机制,令消息再消费一次。Consumer 消费消息失败通常可以认为有以下几种情冴由于消息本身的原因,例如反序列化失败,消息数据本身无法处理(例如话费充值,当前消息的手机号被注销,无法充值)等。 ...

2018-08-28 11:52:05 6466 1

原创 JMS消息队列的概念阐述

JMS是什么百度百科对其定义:1, JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。 2, JMS是一种与厂商无关的 API,用来访问消息收发系统消息...

2018-08-27 23:43:31 2811

原创 RocketMQ - 8 消费者 push和pull模式,配置参数

PushConsumer配置consumerGroup DEFAULT_CONSUMER Consumer 组名,多个 Consumer如果属于一个应用,订阅同样的消息,且消费逻辑一致,则应该将它们归为同一组 messageModel CLUSTERING 消息模型,支持以下两种 1、集群消费 2、广播消费 consumeFromWhere CONSUME_FROM_LAST_OFF...

2018-08-27 12:06:34 8024

原创 RocketMQ - 6 生产者,顺序消息

Producer类型Producer主要职能就是生产消息,发送消息。它可以对多个主题发送消息,甚至可以通过Tag定义些简单的过滤。更复杂的过滤可以使用filter组件来进行相应的业务操作 RocketMQ提供了3种不同模式的Producer 1.NormalProducer(普通) 2.OrderProducer(顺序) 3.TransactionProducer(事务)Produ...

2018-08-26 20:59:05 1148

原创 RocketMQ - 5 源码模块分析

rocketMQ采用maven父子项目拆分的项目构造,3.2.6版本有9个主要模块,还有一些其他模块。4.3最新版本总共有18个目录 common:通用的枚举、基类方法、或者数据结构,包名有admin、consumer、filter、hook、message remoting:使用netty4的客户端、服务端,使用fastjson序列化,自定义二进制协议 srvutil:只有一个Serv...

2018-08-26 12:48:15 509

原创 Rocketmq - 4 Broker配置文件,存储和HelloWorld

Broker配置文件#所属集群名字 brokerClusterName=rocketmq-cluster#broker名字,注意此处不同的配置文件填写的不一样 brokerName=broker-a#0 表示 Master,>0 表示 Slave brokerId=0 #nameServer地址,分号分割brokerIP1 = 阿里云IPnamesrvAddr=阿...

2018-08-26 02:34:33 8083

原创 Rocketmq - 2 集群架构模型和部署结构图

RocketMQ的Broker集群搭建Master和slaver类似Redis和MySql的主从,Slaver只有读的权限,没有写的权限。RocketMQ提供了多种的集群搭建,具体如下:1.单个 Master 这种方式风险较大,一旦 Broker 重启或者宕机时,会导致整个服务不可用,不建议线上环境使用2. 多 Master 模式 一个集群无 Slave,全是 Master,...

2018-08-19 08:00:05 5314 1

原创 Rocketmq - 1 介绍和核心概念

d

2018-08-19 06:20:20 3617

原创 Rocketmq - 3 部署双主环境

部署基于两个服务器,阿里云和腾讯云。阿里云作为broker-a,腾讯云作为broker-b。因为基于实操,与虚拟机不同,且因为服务器平台不同,有出现过不少小毛病。 请注意:阿里云,阿里云由于有安全组功能,对于不在安全组内的端口将会进行屏蔽,会影响rocketmq的启动,所以需要在阿里云的控制台中对应有的rocketmq端口添加安全组规则1.软件准备http://rocketmq.apac...

2018-08-17 03:21:03 1055

原创 设计模式18-命令模式

概念定义将一个请求封装为一个对象,从而使你可用不同请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。本质“封装请求”结构 该模式有五个角色。“命令接口”,“命令接口实现类”,“接收者”,“要求执行者”,“装配者”Command:定义命令接口 ConcreteCommand:命令接口实现对象,持有接收者,调用接收者的功能来完成命令操作 Receive...

2018-07-26 21:14:27 320

转载 spring中@Async的用法

在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后,就已经内置了@Async来完美解决这个问题,本文将完成介绍@Async的用法。 1. 何为异步调用?在解释异步调用之前,我们先来看同步调用的定义;同步就是整个处理过程顺序执行,当各个过程都执行...

2018-07-25 17:37:05 259

原创 Java使用观察者模式异步短信/邮箱提醒用户群

需求 用户中有人设置了账户余额达到阈值时,短信/邮箱进行提醒的服务。我们将需要在他账户余额阈值达到指定数值的时候进行短信/邮箱消息通知,允许账户余额阈值出现偏差的时候通知,如果某个用户48小时内已经短信/邮箱进行过通知了,那么将不再进行通知。剖析存在两个主题:短信通知和邮箱通知存在两种观察者:设置了短信通知且账户余额到达阈值的用户,设置了邮箱通知且账户余额到达阈值的用户。用...

2018-07-25 16:07:32 1485

原创 java使用redis进行位图法统计活跃用户

位图法

2018-07-25 15:06:02 6996

原创 设计模式17-装饰模式

概念定义动态给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更为灵活结构 该模式有四个角色,Component(组件父类),ConcreteComponent(组件子类),Decorator(装饰类父类),ConcreteDecorator(装饰类子类)该模式具体可以分为两类,一类组件(被装饰的对象),一类装饰器。 组件父类:可以添加职责,装饰器父类和组...

2018-07-24 01:21:53 217

原创 关于MySQL-8小时连接闲置超时

前阵子在公司出现了8小时连接超时的问题,异常信息大概如下:2018-06-11 13:34:20,604 INFO (BasicResourcePool.java:1831) - An exception occurred while acquiring a poolable resource. Will retry. com.mysql.jdbc.exceptions.jdbc4.Co...

2018-07-23 15:13:42 1930

原创 关于在客户端绑定设备和对Java代码进行加密的想法总结

近日,公司项目有关于服务器对客户端进行绑定的操作。在绑定范围内的设备允许访问服务器,进行相应的服务。对于绑定范围外的设备,不能得到相应的服务需求如上,实况如下: 1.服务器项目是maven管理的web项目。web项目是B/S模式,不是C/S模式。无法通过一个简单的Http连接获取到客户端的详细设备信息。即使能获取到,也要考虑用户篡改,伪造,代理等因素,所以最初的方案,向客户端获取设备信息失败...

2018-07-23 14:53:32 1663

原创 socket编程

1.socket是什么?socket又叫套接字,是在应用层和传输层的抽象层。它把复杂的TCP/IP协议族隐藏在Socket接口后面,从而进行简单的接口调用就可以达到进程通信的效果。 socket是一种”打开—读/写—关闭”模式的实现,服务器和客户端各自维护一个”文件”,在建立连接打开后,可以向自己文件写入内容供对方读取或者读取对方内容,通讯结束时关闭文件。2.socke编程原理这是T...

2018-07-20 10:24:28 208

原创 RMI技术和远程代理

远程代理概念定义远程代理就是”远程对象的本地代表”。”远程对象”就是一个活在不同JAVA虚拟机(JVM)堆里,即在不同的地址空间中代表同一对象。“”本地代表“就是可以像在本地方法一样调用的对象,其行为转发到远程对象。远程代理就是为了让远程调用看起来跟本地调用对象一样,毫无瑕疵。结构这里有四个角色。客户对象,客户代理对象(客户辅助对象),服务辅助对象,服务对象 1.客户对象...

2018-07-15 23:42:37 859

原创 设计模式16-代理模式

概念 定义为其他对象提供一种代理以控制对这个对象的访问。本质:“控制对象访问” 结构该模式有三种角色。代理对象,目标接口,具体的目标对象。代理对象:1.代理对象需要和具体的目标对象一样实现目标接口 2.代理对象要持有具体目标对象的引用,还要提供给用户传入具体目标对象的入口 3.代理对象的方法,可以控制对具体目标的访问 目标接口:定义代理和具体对象的接口,这样代...

2018-07-13 22:39:05 151

原创 设计模式15-模板方法

概念定义定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的接口即可重新定义该算法的某些特定步骤。本质:“固定算法骨架”结构与说明模板模式有两个角色,抽象类和实体类。 抽象类。用来定义算法骨架和原语操作。在这个类里面,可以提供算法的通用实现 实体类。用来实现算法骨架中的某些步骤,完成跟特定子类相关的功能 原语操作就是抽象的操作,必...

2018-07-12 21:14:01 148

原创 设计模式14-策略模式

概念定义策略模式定义一系列算法,把他们一个个封装起来,并使他们可互相替换。本模式使算法可以独立于使用它的客户而变化。与状态模式有异曲同工之妙。其本质是”分离算法,选择实现”结构 与状态模式一样。策略模式有三个角色,策略接口,具体策略实现类,上下文 策略接口(Strategy),用来约束具体的策略算法。上下文使用这个接口来调用具体的策略实现定义算法 实体策略类(Concre...

2018-07-08 17:34:41 163

原创 设计模式13-状态模式

状态模式和策略模式是孪生兄弟。他们都是为了解决产生多重if,else这种判断下形成的设计模式。为了让系统充满弹性和可维护性。策略模式是围绕互换的算法来创建业务,解决这个问题。而状态模式跟策略模式更不一样了,他是通过改变对象内部的状态来帮助对象控制自己的行为。概念定义状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。结构状态模式有三个角色。“状态接口”...

2018-07-08 15:21:01 165

原创 设计模式12-中介者模式

概念定义中介者模式,就是用一个中介对象来封装一系列的对象交互。中介者使得相关对象之间复杂的沟通和控制得到缓解,不需要显式的相互引用,从而使他们耦合松散。核心:封装对象间的交互结构中介者模式有两个角色,“同事类”和“中介者”。 同事类是平行关系,一般是实现自己的业务,当需要与其他同事进行通信的时候,就通知该同事持有的中介者,中介者再负责交互,所以每个同事类都应该知道中介者 中...

2018-07-03 22:53:16 136

原创 设计模式11-观察者模式

概念定义:观察者模式定义了对象间的一种一对多的依赖关系。当“一”的对象状态发生变化时,有依赖于它的所有对象都得到通知并且自动更新,其本质是触发联动结构:观察者模式主要有两个角色,”主题”(Subject)和”观察者”()。如果把这种一对多的关系比作报社和订报者,那么“报社”就是主题,订报者就是”观察者”,所以观察者模式也叫“发布”-“订阅”模式关键说明:1.事实上,...

2018-07-02 21:54:33 199

java天气相关爬虫

springboot框架的java天气相关爬虫代码 java,java,java

2019-02-01

Docker+Jenkins持续化集成企业实战系列视频教程

Docker+Jenkins持续化集成企业实战系列视频教程https://pan.baidu.com/s/1nsvEbMOYiupJb89HzLNtEg

2018-11-02

com.springsource

com.springsource下有的jar包 ,包括 com.springsource.org.aopalliance-1.0.0, com.springsource.org.apache.axis-1.4.0.jar, com.springsource.org.apache.commons.beanutils-1.8.0.jar, com.springsource.org.apache.commons.collections-3.2.1.jar, com.springsource.org.apache.commons.dbcp-1.2.2.osgi.jar, com.springsource.org.apache.commons.httpclient-3.1.0.jar, com.springsource.org.apache.commons.io-1.4.0.jar,com.springsource.org.apache.commons.logging-1.1.1.jar, com.springsource.org.apache.commons.pool-1.5.3.jar, com.springsource.org.apache.log4j-1.2.15.jar, com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar

2017-05-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除