- 博客(24)
- 收藏
- 关注
原创 Oracle sql优化常用方法
1.选择最有效的表名顺序:例如选记录最少的作为基表;如果表多用交叉表; 2.where后面条件的连接顺序; oracle的解析按照从上而下解析,因此表之间的连接必须写在where条件之前 3.通配符’*’的使用 Sql在执行带通配符的语句时,如果‘%’在首位,那么在字段上建立的主键或者索引将会失效! Select name from user_info where name=’%A’;(无意义) ...
2019-09-22 16:09:19
565
原创 Maven教程
**一.作用:**1.管理架包;2。把架包拆分成各个模块; 二.概念:基于java平台的自动化构建工具; 三.功能: 1.清理:将编译的结果清楚,为重新编译做准备; 2.编译:java-class 3.测试 : 单元测试 4.报告:显示测试的结果 5.打包:将项目的多个文件,压缩成一个文件,用于安装或部署; 6.安装:包———>本地 7.部署:包———>服务器 四.专属名词解释: 仓库...
2019-09-14 11:29:00
299
原创 使用Spring Security OAuth2微服务系统和JWT保护微服务系统
一,什么是OAuth2 OAuth2是一个标准的授权协议; 1.用户打开客户端,客户端询问用户授权。 2.用户同意授权 3.客户端向授权服务器申请授权 4.授权服务器对客户端进行认证,也包括用户信息的认证,认证成功后授权给令牌。 5.客户端获取令牌后,携带令牌向资源服务器请求资源。 6.资源服务器确认令牌正确无误,向客户端释放资源。 二,如何使用Spring OAuth2 .OAuth2 Prov...
2019-09-12 20:18:05
467
原创 Spring Boot Security简介
一.简介: 1.什么是Spring Security? Spring Security是Spring Resource社区的一个组件; 1).在Controller层,Service层,Dao层添加注解来保护应用程序的安全; 2).Spring Security提供了细粒度的权限控制,可以精细到每一个api接口,每一个业务方法; 3).但是,security只是针对应用层,一个系统的安全应该还有传...
2019-09-12 18:00:17
203
原创 微服务监控 Spring Boot Admin
一,使用Spring Boot Admin 监控Spring Cloud微服务 需要构建三个工程 二,Spring Boot Admin 集成 Turbine,聚合监控微服务系统中的熔断器情况; 首先需要两个 Eureka Client工程,在这两个Eureka Client的工程中聚合两个Eureka Client的 Hystrix DashBoard(仪表板)最后在Spring Boot Ad...
2019-09-12 17:36:44
156
原创 SpringCloudSleuth 服务链路追踪
一,为什么要用SpringCloudSleuth: 服务单元众多,业务的复杂性高,很难定位错误和异常; 二,基本术语: 1.Span:(英译跨度)基本工作单元,发送一个远程调度功能就会产生一个span,span是用一个64位的id唯一标识的,Trace是用另一个64位ID ...
2019-09-11 19:43:50
213
原创 创建现成的四种方式 多线程与并发的基本概念:
多线程与并发的基本概念: 多线程 一:什么是线程? 进程:进行中应用程序 线程:是进程组成者,一个进程中可能包含多个线程 cpu执行程序的最小单位是线程,cpu在同一时间内只能执行一个线程,在多个线程之间不停的切换,肉眼无法分别,造成同时执行的效果 java多线程:多个可以同时执行的代码块 java程序在执行的时候会产生一个进程 多线程的特点:随机性 多个线程之间都在抢占cpu资源,谁抢到了cpu...
2019-09-09 16:16:50
559
原创 负载均衡器Ribbon
如何使用RestTemplate和Ribbon相结合作为服务消费者去消费服务? 1.RestTemplate简历: RestTemplate是Spring Resources中一个访问第三方RESTful API接口的网络请求框架。(就是客户端向服务器请求服务用的) RestTemplate是用来消费rest服务的,所以RestTemplate的主要方法都与rest的http协议的一些方法紧密相连...
2019-08-30 16:49:57
415
原创 源码解析Eureka
一.Eureka的一些功能 1.register: 服务注册,当Eureka Client向 Eurkeka Server提供自身的元数据,比如IP地址,端口,运行状况指标的url,主页地址信息。 2.服务续约: Eureka Client 在默认情况下会每个30秒发送一次心跳来进行服务预约。通过服务预约来告知Eureka Server该 Eureka Client仍然可用,没有出现故障。如果Eu...
2019-08-30 10:42:08
128
原创 分布式配置中心:Spring Cloud Config(一)
一,Config Server从本地读取配置文件: ConfigServer可以从本地仓库和远处Git仓库读取配置文件; 1.从本地数据库读取配置文件; 1.1,构建config server; 1.2,在pom引入ConfigServer的起步依赖spring-cloud-config-server. 1.3,在程序启动类ConfigServerApplication中加上@EnableConf...
2019-08-28 16:51:01
153
原创 Spring Config Server多实例集群部署(二):
当服务实例很多时,所有的服务实例都要同时从配置中心Config Server读取,这时候考虑在配置中心ConfigServer做一个微服务,并且将其集群化,从而达到高可用: 一,构建Eureka Server(集群,包含多个 config server) 1.新建一个eureka-server工程,eureka-server工程的pom文件继承了主maven的pom文件,eureka-server...
2019-08-28 16:43:31
435
原创 Config Server从远程Git仓库读取配置文件
修改 Config Server的配置文件,applicatiion.yml server: port:8769 spring : cloud: config: server: git: uri:https:// github.com/forezp/SpringcloudConfig(git地址) searchPaths:respo(远程仓库的文件夹地址) username:miles02@163...
2019-08-28 15:22:04
837
原创 Spring Boot 整合Redis
一,redis简介: 1.redis是一种开源的,先进的key-value 存储系统,可用于构建高性能的存储系统。 2.redis支持的数据结构有字符串,哈希,列表,集合,排序集合,位图,超文本等。 3.Nosql=not only sql 泛指非关系型数据库,redis也是一种nosql; redis具有很多优点,例如读写迅速,支持丰富的数据类型,所有操作都是原子的。 二,在springboot...
2019-08-28 09:21:07
108
原创 Spring Boot整合JPA
JPA全称JAVA Persistence API,是一个数据持久化类和方法的集合。 JPA的目标是制定一个由很多数据库供应商实现的API,开发人员可以通过编码实现该API. 目前,在JAVA项目开发中提高的JPA一般是只用Hibernate的实现,因为在JAVA的ORM框架中,只有Hibernate实现的最好。 1.新建一个springboot项目: <!-- Spring-data-j...
2019-08-27 16:38:26
188
原创 Spring Boot(三大特点)
一,Spring Boot的特点(也是有点): 1.自动配置: 自动配置就是程序需要什么,Spring Boot就会装配什么。 2.起步依赖:例如springmvc以前要引入各种依赖,还要防止版本冲突,现在只要加入 spring-boot-starter-web的依赖,它会自动引入Spring MVC功能的相关依赖。 3.Actuator 对运行状态的监控;(比如开发者怎么知道应用程序中注入了哪些...
2019-08-27 15:54:04
2681
原创 Kubernetes和Springcloud比较
kubernetes是一个容器集群管理系统,为容器化的应用程序提供部署运行,维护,扩展,资源调度,服务发现等功能。 SpringCloud是一个构建微服务的框架,而Kubernete是通过对运行的容器编排来实现微服务的。 两者从构建微服务的角度和实现方式有很大的不同,但他们提供了构建微服务所需的全部功能。 kubernetes:支持多语言,除了有微服务功能,还有环境生命周期。更像是一个平台,而sp...
2019-08-27 10:12:58
996
原创 SpringCloud和dubbo
Dubbo是阿里开源的一个分布式框架,致力于提高性能和透明化的RPC远程服务调用方案,以及SOA的服务治理方案。 核心: 1.RPC远程调用:封装了长链接NIO框架,采用多线程模式; 2.集群容错,提供了基于接口方法的远程调用功能,并实现了负载均衡策略,失败容错等功能; 3.服务发现:集成了Apache和Zookeper组件,用于服务的注册和发现; 架构流程如下: 1.服务提供者向服务中心提供注册...
2019-08-27 09:14:29
139
原创 Spring Cloud八大组件(二)
简介: Spring Cloud 基于Spring Boot,首要目标就是提供一系列开发组件和框架,帮助开发者迅速搭建一个分布式微服务系统。技术框架实现的。 SpringCloud是通过包装其他 常用组件: 1.服务注册和发现组件Eureka; 2.熔断组件Hystrix; 3.负载均衡组件Ribon; 4.路有网关Zuul; 5.SpringCloudConfig,配置文件统一管理; 6.Spr...
2019-08-27 08:29:24
1524
原创 Spring Cloud自解(一)
Spring Cloud作为Java语言的微服务框架,它依赖于Spring Boot. 特点:有快速开发,持续交付和容易部署等; .微服务应该具备的功能: 根据微服务的特点,得出微服务的功能 a.服务的注册和发现; 服务的注册:向服务注册中心注册一个服务实例; 服务的发现:当服务消费者需要消费另一个服务时,服务注册中心能够告知服务消费者他要消费的服务信息例如服务器IP地址,并且根据实时反馈信息,判...
2019-08-26 17:04:05
112
原创 微服务的理解
微服务最近两年才出现,是程序员经常讨论的话题,那么到底什么是微服务,微服务有哪些优点和缺点呢?另外微服务和soa架构有什么关系呢,哈哈哈,今天就让我我们一起理解研究下: 一.概念(由于没有严格的定义,英文又不够具体,所以自己理解后得出如下见解): 1.按业务划分为一个独立运行的程序,及服务单元; 2.服务之间通过HTTP协议相互通信; 3.自动化部署(有多少个微服务,就要部署多少次;自动化部署工具...
2019-08-26 15:36:13
414
原创 java 代理模式之静态代理
静态代理: 静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类.删除线格式 下面举个案例来解释: 模拟保存动作,定义一个保存动作的接口:IUserDao.java,然后目标对象实现这个接口的方法UserDao.java,此时如果使用静态代理方式,就需要在代理对象(UserDaoProxy.java)中也实现IUserDao接口.调用的时候通过调用代理对...
2019-08-26 11:11:06
118
原创 单体架构的优缺点
一,单体架构概念: 将所有的业务场景的表示层,业务逻辑层和数据访问层打包放在一个工程中,最终经过编译打包,部署在一台服务器上。例如:典型的J2EE工程,把jsp,业务逻辑层的service,controller和数据访问层的dao,打包成wa包,部署在Tomcat或者Jetty或者其他容器上运行。 二.缺点: 1.业务越来越复杂,单体架构扩展性不足,业务扩展带来的代价越来越大; 2.用户越来越多,...
2019-08-26 10:37:49
6660
原创 代理模式浅析简单代理
什么是代理? 比如A是一个接口,B是被加强对象,C是代理对象 A接口有一个say()方法,B实现了A接口,C也实现了A接口,C在自己实现的say()方法里不但执行了B的say()方法也执行了一些自己的程序,这就是代理。 代理分为静态代理和动态代理。 谁代理谁? 怎么代理? ...
2019-08-22 14:41:10
181
原创 jdk的动态代理浅析
在理解jdk的动态代理前,我们先理解下什么是模式,设计模式; 模式:在我们身边重复发生的问题,以及解决这些问题的方案和核心内容。 设计模式:软件设计过程中,涉及到的常用问题,以及解决这些问题的方案和核心内容 目的:为一个对象提供一个代理以控制对这个对象的访问。 问题描述:以添加用户为例,利用代理模式创建的代理对象,产生一个crud对象 解决:引入代理模式。 代理概念可以解释为:在出发点到目的地之间...
2019-08-22 11:47:45
132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅