- 博客(36)
- 资源 (10)
- 收藏
- 关注
原创 一步一步揭开SpringBoot自动装配的奥秘
1. 早期的spring解决的问题早期的spring,解决了Bean的自动注入问题package com.lchtest.spirngbootautoconfigprinciple.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data...
2020-02-22 18:13:42 230
原创 设计模式-原型模式
原型模式本质对已经存在的对象模型进行拷贝应用场景类初始化消耗资源较多的情况下new对象非常繁琐的过程构造函数复杂循环体中产生大量对象时??分类:浅克隆特点:拷贝的是对象的引用,而不是对象的值。如果克隆的对象发生了变化,原对象也会发生改变,对代码存在风险实现:JDK提供了Cloneable接口,用户只需要实现这个接口,重写Object类的clone方法,然...
2020-02-29 23:41:40 80
原创 设计模式-注册式单例2-容器式单例与ThreadLocal单例
注册式单例的另一种写法,容器缓存package com.lchtest.singleton.register;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;public class ContainerSingleton { private static Map<String, Obj...
2020-02-28 22:31:37 129
原创 设计模式-注册式单例1-枚举式单例
注册式单例1.枚举式单例注册式单例又称为登记式单例,就是将每一个实例都登记到某一个地方,使用唯一的标 识获取实例。注册式单例有两种写法:一种为容器缓存,一种为枚举登记。先来看枚举 式单例的写法,来看代码,创建 EnumSingleton 类package com.gupaoedu.vip.pattern.singleton.register;/** * 注册式单例方式1:枚举式单例 ...
2020-02-27 08:25:01 196
原创 设计模式- 饿汉式单例与懒汉式单例
1. 单例模式应用场景单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。单例模式是创建型模式。单例模式在现实生活中应用也非常广泛。 例如,国家主席、公司 CEO、部门经理等。在 J2EE 标准中,ServletContext、 ServletContextConfig 等;在 Spring 框架应用中 ApplicationCont...
2020-02-26 08:18:37 177
原创 Centos7 安装mysql
1. 下载mysql 安装包这里下载的是社区版的mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads2. 上传到linux并解压上传 mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz安装包到/usr/l...
2020-02-23 22:23:20 115
原创 磁盘满了导致mysql启动报错: The server quit without updating PID file
Last login: Sun Feb 23 01:45:01 2020 from 192.168.5.102[root@lch ~]# service mysql startStarting MySQL.. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mysql.pid).[root@lc...
2020-02-23 17:59:48 266
转载 设计模式-看懂UML类图
转自https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html#id3这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对 日常的工作和交流; 同时,我们应该能将类图所表达的含义和最终的代码对应起来; 有了这些知识,看后面章节的设计模式结构图就没...
2020-02-22 10:53:44 298
原创 IDEA环境下的多线程调试方式
IDEA环境下的多线程调试方式本文以最简陋的单例模式为例,示例如何使用IDEA调试多线程1.代码准备创建一个单例类package com.lchtest.pattern.singleton.lazy;/** * 单例模式最基本条件 * 1.构造方法私有化 * 2.提供全局访问点 */public class LazySimpleSingleton { publi...
2020-02-21 18:56:14 2020 1
原创 Centos7开放端口
CentOS6.5 开放端口命令如下:打开端口:/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT保存:/etc/rc.d/init.d/iptables saveCentOS7使用的是firewall命令开放端口[root@promote conf]# firewall-cmd --list-ports[root@prom...
2020-02-21 16:24:30 171
转载 使用Nodepad++编辑服务器的配置文件
转自 https://blog.csdn.net/yerenyuan_pku/article/details/73128819我们在学习nginx的时候,往往会涉及到很多关于修改配置文件的操作,如果直接在Linux的远程连接工具(比如putty)或服务器上操作的话,往往会很不灵活,为了更方便的操作配置文件,今天我来说一下如何使用Nodepad++来修改我们的配置文件。启动服务器,这里使用的...
2020-02-21 15:18:05 142
原创 CentOS7卸载openJDK安装JDK1.8
CentOS7自带了一个openjdk,使用的时候用诸多问题,例如明明配置了Java环境变量但是不能使用,这个时候需要卸载重新安装。查看已有openjdk版本rpm -qa|grep jdk[root@promote java]# rpm -qa|grep jdkjava-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64java-1.7.0-o...
2020-02-21 14:50:53 203
原创 消息队列RabbitMQ学习-4-rabbitmq原生Java API实现生产者消费者
原生API实现生产者消费者创建项目<?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" xsi:sche...
2020-02-20 16:37:16 347
原创 消息队列RabbitMQ学习-3-rabbitmq使用场景
1:解耦,削峰1、同步异步的问题(串行)串行方式:将订单信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端伪代码:public void makeOrder(){ // 1 :保存订单 orderService.saveOrder(); // 2: 发送短信服务 messageService.sendSMS("order"); //...
2020-02-20 09:25:16 213
原创 消息队列RabbitMQ学习-2-rabbitmq服务介绍
通讯端口连接信道对象连接到rabbitmq所使用的通道(信道), 每一个长连接会开启一个/多个线程维持一个信道的通信交换机队列管理后台users管理,Vistual Hosts管理,集群配置等...
2020-02-20 09:03:20 88
原创 消息队列RabbitMQ学习-1
一般消息来源会有很多,不同的业务都可以向消息队列发送消息,那么怎么区分是哪个业务发来的消息呢? 就好比电脑存储东西,把不同的内容存放的不同的盘下面,virtual host的作用就类似与电脑的CDEF盘
2020-02-20 08:53:40 123
原创 CentOS7.3安装Docker及rabbitmq
前言不建议centos6.5上安装docker,太麻烦,要升级内核,而且会缺失一大堆依赖,1.查看linux版本[root@promote ~]# cat /etc/redhat-releaseCentOS Linux release 7.3.1611 (Core)[root@promote ~]#2.更新yumyum update3. 安装所需软件包yum-util提供y...
2020-02-19 23:36:30 648
原创 千万不要在centos6.5上安装Docker——docker安装失败记录
1.检查linux系统版本执行rpm -q centos-release查看centos版本,执行uname -r 查看内核版本,系统位数:参考文章:Docker的安装,包括内核的升级(centos6内核太低需要升级到3.1以上)-centos6.5内核升级1.导入public key:rpm --import https://www.elrepo.org/RPM-GPG-KEY...
2020-02-19 23:35:04 2087
原创 sringcloud2.0学习-17- 通过springcloud config分布式配置中心搭建Zuul 动态网关
搭建动态网关的意义在上一篇文章中,网关路由转发规则如下,是写死在网关的配置文件里面的如果网关服务启动之后,要新增一个服务的网关路由转发规则,这时只能通过重启网关服务了,这种方式太不靠谱,结合前面的文章分布式配置中心springcloud config 可以把网关配置中的路由转发规则放到分布式配置中心上,这样就可以动态路由规则了。1.分布式配置中心新增动态路由规则配置在git上创建一个文件...
2020-02-19 10:34:59 192
原创 sringcloud2.0学习-16- springcloud微服务网关+Zuul网关搭建
springcloud微服务网关主要内容:微服务网关技术产生背景微服务网关设计思想微服务网关作用网关与过滤器的区别spring cloud zuul网关与Nginx的区别搭建Zuul网关服务器Zuul网关拦截器配置通过springcloud config分布式配置中心搭建Zuul 动态网关1.微服务网关技术缘何而来 这个话题还得从接口说起。传统的三层架构的项目,所...
2020-02-19 09:13:04 344
原创 sringcloud2.0学习-15- Hystrix推荐用法-定义统一fallback接口
定义统一fallback接口微服务保护利器Hystrix在上面一篇文章中,
2020-02-18 22:24:28 878
原创 sringcloud2.0学习-14- 分布式配置中心springcloud config
分布式配置中心SpringCloud Config1. 分布式配置中心产生的背景在微服务中,如果使用传统的方式管理配置文件,每个项目都有各自的配置文件,整个微服务系统的配置文件管理变得复杂。如果生产环境配置文件需要发生改变,需要重新打包,重新读取配置信息在JVM内存中。个人理解:配置文件读取一般是在项目启动的时候去读取配置项的值并加载到jvm内存中,一旦启动之后,配置项值发生改变,想要让配...
2020-02-18 20:04:48 145
原创 sringcloud2.0学习-13- 微服务保护利器Hystrix(@HystrixCommand注解使用)
微服务保护利器Hystrix1.微服务高可用技术大型复杂的分布式系统中,高可用相关的技术架构非常重要。高可用架构非常重要的一个环节,就是如何将分布式系统中的各个服务打造成高可用的服务,从而足以应对分布式系统环境中的各种各样的问题,,避免整个分布式系统被某个服务的故障给拖垮。比如:服务间的调用超时服务间的调用失败要解决这些棘手的分布式系统可用性问题,就涉及到了高可用分布式系统中的很多重...
2020-02-18 18:05:03 313
原创 sringcloud2.0学习-12-服务雪崩效应与Feign客户端超时配置
服务雪崩效应什么是服务雪崩效应 默认情况下,tomcat只有一个线程池去处理客户端的所有请求,这时候如果在高并发情况下,所有的请求全部访问同一个接口,导致tomcat线程池的所有线程都去处理这个一个接口服务,这时候可能会导致其他接口请求没有可用的线程来请求,导致新来的接口请求响应很慢或者直接无响应,这就是服务雪崩效应效应(tomcat8线程池中最大活跃线程数默认是200),...
2020-02-17 23:03:21 275
原创 sringcloud2.0学习-11- Feign客户端调用重构
1.Feign客户端调用重构在上一篇文章中提到,order服务要通过Feign客户端调用member服务的/member/getmember接口,就必须在order服务中定义一个相同的Feign客户端接口,如果有很多个接口,这样的重复代码就很多了,有没有什么办法可以让这个接口定义只写一遍呢?答案是有的。将之前的项目结构改成这样:springcloud2.0-feign-parent所有项...
2020-02-17 22:54:45 246
原创 sringcloud2.0学习-10- 声明式服务调用SpringCloud Feign
声明式服务调用SpringCloud Feign1.Feign简介Feign客户端是一个web声明式http远程调用工具,提供了接口和注解方式进行调用。2. Feign的使用创建一个父工程,然后再分别创建三个Module:Eureka Server ,memberService 和 orderService,并关闭eureka自我保护2.1父工程搭建<project xmlns=...
2020-02-17 17:16:50 131
原创 sringcloud2.0学习-9- ribbon底层原理+DiscoveryClient模拟ribbon本地负载均衡
Ribbon底层原理+DiscoveryClient模拟ribbon本地负载均衡1. Ribbon底层原理Ribbon作为SpringCloud的客户端负载均衡器,它本质上还是对httpclient的一个封装,其工作过程可以用下图来说明ribbon底层原理:当订单服务调用会员服务接口时,先拿会员服务的别名app-member去注册中心上获取会员服务的实际接口地址,获取到接口地址后,缓存到...
2020-02-17 16:53:04 580
原创 sringcloud2.0学习-8-SpringCloud整合Consul作注册中心
SpringCloud整合Consul作注册中心1.Consul简介Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。它具有很多优点。包括: 基于 raft 协议,比较简洁; 支持健康检查, 同时支持 HTTP 和 DNS 协议 支持跨数据中心的 WAN 集群 提供图形界面 跨平台,支持 Linux、Mac、Windows,这里以wind...
2020-02-17 16:13:29 151
原创 sringcloud2.0学习-7-springcloud整合zookeeper作注册中心+ribbon负载均衡
使用Zookeeper作为注册中心1.启动zookeeper服务端 Zookeeper是一个分布式协调工具,可以实现服务注册与发现、注册中心、消息中间件、分布式配置中心等。 springcloud使用zookeeper作为注册中心,需要注意客户端和服务端版本要一致!否则会出现服务注册不到注册中心的情况。 这里选择zookeeper3.5.3.beta版本,因为springcloud ...
2020-02-17 15:04:08 591
原创 sringcloud2.0学习-6-Eureka自我保护机制
Eureka自我保护机制Eureka角色EurekaClient- 注册中心的客户端,之前文章中的member服务,order服务都是属于eureka客户端EurekaServer-注册中心服务端 之前文章中的eureka注册中心Eureka自我保护机制演示启动springcloud2.0-eureak-server(端口8100)和springcloud2.0-eureak-ser...
2020-02-17 11:04:22 173
原创 sringcloud2.0学习-5-Eureka高可用集群
Eureka高可用集群1.注册中心的重要性在微服务中,注册中心非常核心,可以实现服务治理,如果一旦注册出现故障的时候,可能会导致整个微服务无法访问,在这时候就需要对注册中心实现高可用集群模式。2. Eureka高可用原理默认情况下Eureka是让服务注册中心,不注册自己,配置如下:###因为该应用为注册中心,不会注册自己 register-with-eureka: true##...
2020-02-16 23:16:18 215
原创 sringcloud2.0学习-4-RestTemplate调用服务接口及@LoadBalanced实现本地负载均衡
RestTemplate调用服务接口1.服务消费者OrderService搭建pom依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org...
2020-02-16 20:38:59 508
原创 sringcloud2.0学习-3-Eureaka注册中心
SpingCloud注册中心1.版本选择本系列学习教程采用的框架版本:springboot:2.0.3.RELEASEsringcloud:Finchley.RELEASE2. sringcloud常用五大组件服务发现:Netflix Eureka客服端负载均衡:Netflix Ribbon断路器:Netflix Hystrix服务网关:Netflix Zuul分布式配置:Sp...
2020-02-16 16:58:06 148
原创 sringcloud2.0学习-2-SpringCloud微服务框架初识
SpringCloud微服务框架1.SpringCloud框架简介 SpringCloud是基于SpringBoot基础之上开发的微服务框架,是一套目前非常完整的微服务解决方案框架,其内容包含服务治理、注册中心、配置管理、断路器、智能路由、微代理、控制总线、全局锁、分布式会话等。SpringCloud包含众多子项目:SpringCloud config 分布式配置中心SpringCl...
2020-02-16 15:35:10 167
原创 sringcloud2.0学习-1-网站架构演进
网站架构演变过程1.从淘宝的架构演进学习网站架构演变过程点击查看淘宝的14次架构演变2. 各种架构缺点 网站架构经历了传统架构-》分布式架构-》微服务架构,之所以有这种演变,是由于不同的架构存在的弊端:传统三层架构(单点应用) 传统架构也就是单点应用,SSH架构或者SSM架构, web控制层、业务逻辑层、数据库访问层,业务没有进行拆分,都写同一个项目工程里面,一般是适合于个人...
2020-02-16 15:15:35 188
dubbo入门示例,普通Java进程,不使用spring boot cloud
2022-11-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人