- 博客(56)
- 收藏
- 关注
原创 服务网格Istio之微服务架构设计模式
微服务架构的构件原创扼杀者模式它们是传统、庞大的单体应用。扼杀者模式为此而生。这种模式会创建两个独立的应用,一同运行在同样的 URI 空间中。随着时间点的推移,新的重构了的应用会扼杀或者替换掉原有应用,最后就可以关掉单体应用了。这种模式分为 转换、共存 和 终结 三个步骤单体你继续运营者, 我慢慢把你替换掉舱壁模式这个模式把应用的元素隔离开来,这样一个失败之后,其它的还能继续工作。这个模...
2019-11-17 17:21:03
595
原创 设计模式(单例模式和原型模式)
设计模式最近出去面试,发现自己对设计模式上面有点生疏了,也的的确确忘了很多,这边就稍微的巩固一下自己的设计模式.面试官也说到了,你如果都不知道这些设计模式的存在,你怎么知道要去使用他, 一直去了解分布式结构的使用,却忘了最基本的东西的确该打.单利模式单利模式,我相信我们在开发过程中最容易碰见,我连这个都忘记了.果然不行.懒汉式单例模式public class LanHan{ //vo...
2019-11-04 23:36:13
387
原创 Logback 日志管理配置
logback 配置我们一般都有比较多的去使用logback 但是配置我一般都记不住这里简单的记录一下防止以后用上. <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artif...
2019-10-31 20:24:27
388
原创 Spring Cloud Alibaba(七) Sentinel 连接客服端以及服务熔断
Sentinel连接POM <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> ...
2019-10-27 19:59:21
583
原创 Spring Cloud Alibaba(六) Sentinel 分布式系统的流量防卫部
什么是Sentinel我们知道在微幅框架中, 我们会根据业务来拆分成一个个的服务,服务与服务之间可以通过HTTP/RPC来相互调用,那么如果一个服务挂了,那么我其他相关联的服务岂不是都会一个个崩溃,服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的 “雪崩” 效应。为了解决这个问题,业界提出了所有的服务都要接入Sentinel 所有的服务都需要接入Na...
2019-10-27 19:56:42
245
原创 Spring Cloud Alibaba(五) Nacos Config 分布式配置中心
为什么Nacos Config?在分布式系统中,由于服务特别的多,那是不是我的配置文件也特别的多,我总不可能要改配置就一个个改把,打个比方我需要修改数据库的地址账号密码等,我一个个提供方去改,这未免效率也太低了把(〃>皿<)所以这个时候我们就需要Nacos ConfigNacos Config 介绍Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化...
2019-10-25 23:37:06
892
原创 RocketMQ(二) 集群配置
相关概念NameServer这里我们可以理解成类似于zk的一个注册中心,而且rocketmq最初也是基于zk作为注册中心的,现在相当于为rocketmq自定义了一个注册中心,代码不超过1000行。RocketMQ 有多种配置方式可以令客户端找到 Name Server, 然后通过 Name Server 再找到 Broker,分别如下,优先级由高到低,高优先级会覆盖低优先级。客户端提供http...
2019-10-23 20:59:50
1045
原创 RocketMQ(一) 基本使用
RocketMQ一. JMS介绍 JMS(Java Message Service),是Java平台中关于面向消息中间件的接口,是一种与厂商无关的API,用来访问消息收发。它的使用场景如下:实现业务的解耦、削峰,异步。跨平台,多语言分布式事务,最终一致性二. RocketMQ常见的概念Producer:生产消息的服务。Producer Group: 消息生产者组,发送同类消息...
2019-10-23 20:48:11
1031
原创 Spring Cloud Alibaba(四) Nacos Feign 客户端和负载均衡策略
Nacos Feign 客户端什么是 FeignFeign 是一个声明式的伪 HTTP 客户端,它使得写 HTTP 客户端变得更简单。使用 Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用 Feign 注解和 JAX-RS 注解。Feign 支持可插拔的编码器和解码器。Feign 默认集成了 Ribbon,Nacos 也很好的兼容了 Feign,默认实现了负载均衡的效果...
2019-10-21 12:03:32
5282
2
原创 Spring Cloud Alibaba(三) Nacos 注册中心(服务于发现)
Nacos 是什么,做什么用的这里我就不bb了, 官方文档不是更加详细吗,还有的更新去吧,这里去Nacos官网但是我还是要bb一下.概述Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以 “服务” 为中心的现...
2019-10-21 12:00:50
440
1
原创 Spring Cloud Alibaba(二) 搭建工程项目
创建项目工程创建一个普通的工程就可以了, 负责管理模块的开发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/XML...
2019-10-21 11:56:18
3789
原创 Spring Cloud Alibaba(一) 概念,简介
为什么需要学习Spring Cloud Alibaba因为该死的Spring Cloud Netflix 系列技术栈进入维护模式了!!学了半天的Eurker也停止维护了!!!慢慢的这些分布式模块都将慢慢的进入维护模式,不再更新进的功能,也就意味着现在不学以后也得学别的,在取代这些技术.以下 Spring Cloud Netflix 模块和相应的 Starter 将进入维护模式:spri...
2019-10-21 11:53:31
674
原创 (六) Redis 实现Schedule 定时任务
Schedule(定时任务)⼀张图来说明(任务执⾏⻓度超过周期的情况): 虽然定时任务可以嵌⼊到web应⽤程序和WAR⽂件中,但下⾯演⽰⼀种更简单的⽅法创建了⼀个独⽴的应⽤程序。您将所有的内容打包在⼀个单⼀的、可执⾏的JAR⽂件中,⽤⼀个传统Java main()⽅法驱动。这也就是springboot的启动类。一. 入门案例1.1 主程序package com.qianfeng.te...
2019-10-17 22:58:43
3160
2
原创 (五) Redis 实现Mybatis 二级缓存
一. redis与spring boot整合依赖配置:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency> <...
2019-10-17 22:57:26
175
原创 (四) Redis Redis集群设置
一. Redis集群A. 在redis的解压目录下新建rediscluster文件夹,将redis的解压目录下的redis.conf文件拷贝到rediscluster目录下,将该文件复制六份,名字分别为:redis-6379.confredis-6380.confredis-6381.confredis-6382.confredis-6383.confredis-6384.conf...
2019-10-17 22:56:45
189
原创 (三) Redis Linux中Redis的安装
Linux版Redis的下载地址为:https://redis.io/download 将Redis放入到Linux操作系统中,然后解压,进入到redis-5.0.5目录下:执行 make 命令make如果在使用make命令的时候出现如上的错误,执行以下命令:apt install gcc automake autoconf libtool make再次执行 make 命...
2019-10-17 22:55:44
132
原创 (二) Redis redis.conf配置文件
一.Redis配置 redis的核心配置文件为redis的解压目录下名为redis.windows-service.conf的模板文件,拷贝一份重命名为redis.conf文件。1.1 安全登录1.2 数据的持久化1.3 主从备份(灾备)(Master-Slave)二. Redis 持久化之RDB和AOF Redis 有两种持久化方案,RDB(Redis DataBas...
2019-10-17 22:54:06
413
原创 (一) Redis 介绍以及常用类型操作
Redis一. 简介 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。 下载地址:https://github.com/microsoftarchive/redis/...
2019-10-17 22:50:19
152
原创 spring boot 统一结果集处理(使用注解和aop)
1.创建Result工具类1.1 首先你可以创建枚举类型用来标记状态public enum StatusTypeEnum { /** * 200为成功 * 404为错误信息 */ SUCCESS(200, "success"), ERROR(404, "error"); private String msg; privat...
2019-10-11 13:14:38
709
原创 springCloud 四.使用config控制 分布式配置问题
1. spring cloud config 了解spring cloud config 为微服务架构中的各个服务提供了集中化的外部配置,配置服务器为各个不同的微服务环境提供了一个中心化的配置。简单的来说,可以将一些配置信息放在git上面,config通过方式获取git上面的配置信息,在分给需要配置的 分布式服务解决了部署导致配置文件不好管理的问题,而且配置环境有开发环境测试环境和上线环境,...
2019-10-11 12:59:11
135
原创 springCloud 三. 集成Zuul路由网关控制
1. Zuul 路由网关介绍其实我们可以吧zuul看成,是公司的前台,我在在做使用zureka做完分布式操作之后呢,我们会发现这些端口我们都可以直接连接,那么既然能直接连接肯定不行,所以我们需要统一管理这些端口,用一个端口去调用这些端口,而Zuul就是解决这个问题的.具体功能:外部访问统一入口过滤功能也即以后的访问微服务都是通过Zuul跳转后获得所以我们也需要把zuul注册Eure...
2019-10-11 12:58:19
187
原创 springCloud 二. 分布式服务 Hystrix断路器
1. Hystrix 断路器 概念Hystrix是一个用于分布式系统的延迟和容错的开源库,在分布式系统中,许多依赖会不可避免的调用失败,例如超时,异常等,Hystrix能保证在一个依赖出现问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。为系统提供保护和控制以进行快速失败,缩短延迟等待时间提供失败回退(Fallback)和相对优雅的服务降级机制提供有效的服务容错...
2019-10-11 12:57:33
220
原创 springCloud 一 .集成eureka分布式服务发现框架
Eurel1. Eurel简介Eureka是Netflix开发的服务发现框架,是一个基于REST的服务主要包含两个组件: Eureka Server和Eureka Client主要有:Eureka Server(服务注册中心)服务提供方服务消费方可以看这张图了解大概[外链图片转存失败(img-mfrXhR2c-1569338591091)(BDB475AE408B4089B5...
2019-09-24 23:24:49
284
原创 springBoot(七) 简单配置 Redis加工具类
1 连接Redisjedis 1.5redssion 2.0spring boot 导包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot...
2019-09-24 23:22:48
232
原创 mysql 锁原理与概念
1乐观锁实现的机制一般会在数据库中加一个字段一般叫(version)实现原理取出记录时,获取当前version更新时,带上这个version执行更新时, set version = newVersion where version = oldVersion如果version不对,就更新失败2悲观锁3事务3.1原子性**原理: **当我们开启了事务,将数据全部写到日...
2019-09-24 23:19:29
145
原创 spring boot 教你全局异常的处理
spring boot 全局异常处理处理全局异常需要分为三步来做自定义异常枚举自定义异常spring boot AOP异常处理下面我写的比较简单,希望结合根据自己情况处理,这里就简单的写一些代码思想1 自定义一样枚举public enum WebExceptionEnum { /** * SYS_ERROR 系统文件错误 * UNKNOWN_...
2019-09-21 08:56:31
240
原创 spring boot --- result 统一的结果集处理
1 url的命名在实际开发中名词居多,见名知意get 获取数据post 添加数据put 修改数据delete 逻辑假删除2 返回数据的格式2.1 一般返回的是json数据 {状态码: 信息}**一些常用的返回状态码 **https://help.aliyun.com/knowledge_detail/36393.html?spm=5176.10695662.1...
2019-09-21 08:55:37
3534
原创 springBoot(六) 调用多数据源 dynamic-datasource
1 dynamic-datasource简介本框架只做 切换数据源 这件核心的事情,并不限制您的具体操作。强烈建议在 主从模式下遵循普遍的规则,以便他人能更轻易理解您的代码。主数据库 建议 只执行 INSERT UPDATE DELETE 操作。从数据库 建议 只执行 SELECT 操作。2 使用方法2.1 引入dynamic-datasource-spring-boot-sta...
2019-09-21 08:53:49
25419
原创 springBoot(五) 配置热部署
1 配置热部署1.1 热部署的作用在编辑器中已经启动的项目,当再次修改其源代码后,能自动的进行编译、更新,不用人为的手动停掉项目,再进行重启。2 热部署的步骤2.1导如包<!--依赖包--><dependency> <groupId>org.springframework.boot</groupId> <artifactId...
2019-09-21 08:53:00
167
原创 springBoot(四)增强插件-mybatis Plsh
增强插件流行的两种tk.mybatismybatis plus注意:侵入性强的代码,劲量少用,不然后期维护会很麻烦(一旦增强插件不维护了)Mybatis-Plsh官网: https://mp.baomidou.com/guide/#%E7%89%B9%E6%80%A7优点侵入性小,损耗小通过CRUD操作,支持分页预防SQL注入,支持多种数据区支持ActiveRecord支...
2019-09-21 08:50:32
359
原创 SpringBoot(三)配置文件(yml)和自动化配置原理
SpringBoot 配置文件配置文件的两种分类application.propertiesapplication.ymlproperties配置格式栗子:server.port=8080server.servle.context-path= /apiyml配置格式栗子:server: servlet: context-path: /apiport: 9000...
2019-09-21 08:49:21
577
原创 在application-context.xml中配置多个property-placeholder报错问题
配置多个property-placeholder会报错各位在配置多个applicaton想在xml中调用其字段的时候是不是发现调用一个没有问题但是同时写两个application-context 就会报错总有一个里面的字段找不到数据.例如:????原因:即便是写在不同的xml里面,只要最终被application-context.xml的标签所引入,都是会报错的。解决:正确的做法追加一个i...
2019-09-18 09:19:31
417
原创 SpringBoot(二)概念
SpringBoot简介传统的ssm项目配置文件过于繁琐而且依赖包太多,容易导致冲突springboot简化了使用的难度(配置文件),以及有各种.starter,减少了依赖包spring cloud(微服务)的基础核心思想习惯优于配置利用很少的配置,就可以开发我们的web端优点减少开发的时间,提高了开发的效率(因为没有繁琐的配置)基于javaConfig , 避免使用x...
2019-09-18 09:13:32
212
原创 (枚举) 在实战中的基本用法
在项目中我们常常会碰到一些常量之类的死数据,但是为了方便管理,我们最好都是不要直接写死,不然等到要修改的时候就只能一条条的修改,那么我们有没有更加方便的方式去保存这些死数据呢,这里我们就可以用到枚举了枚举的特点:是一个特殊的类,拥有编译安全、完全单利、和线程的安全而且我们也可以写一个接口枚举例如:public interface IEnum { String getCode()...
2019-09-04 20:38:39
291
原创 Linux常见命令大全
一、查看语法: ls[参数][路径] ([] 为可选)参数说明:-a 显示全部(常用)-l 详细细节(常用)-R 递归显示子目录文件列表(常用)-A 显示隐藏-d 只显示目录,不显示目录下的文件-i 显示inode值-u 按修改时间排序-S 按文件大小排序-F 显示文件类型后缀 目录/连接@可执行文件color 不同属性以不同颜色显示二、切换目...
2019-09-04 20:12:03
95
原创 一分钟搭建完Spring-mvc基础环境
导入Maven包<!--版本--> <spring.version>5.1.9.RELEASE</spring.version> <mybatis.version>3.5.2</mybatis.version> <mybatis-Spring.version>2.0.2</mybatis-Spr...
2019-08-26 22:58:49
172
原创 Spring 四、 spring-mybaits 关联查询(二)
概念所谓的一对一查询,就是说我们在查询一个表的数据的时候,需要关联查询其他表的数据一对多(多对一)是指一方持有多方的引用。实现方式使用resultMap实现使用resultType实现SQL语句需要使用连接查询SQL语句需要使用嵌套查询栗子表映射类@Datapublic class Cart { private Integer cartId; /** ...
2019-08-21 23:22:53
160
原创 Spring 四、spring-mybaits 数据库控制(一)
mybaits的基本使用导入相关包<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version></dependency><depende...
2019-08-21 22:53:07
179
原创 Spring 三、Spring-MVC及其常用注解
创建MVC步骤导入Spring MVC包<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${sping-version}</version&g...
2019-08-21 22:48:45
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人