自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(332)
  • 资源 (7)
  • 收藏
  • 关注

原创 java——fastjson 解析超大文件,将json文件转为csv文件

转换前:{ "result": [ { "class": "A5", "student": [ "name", "age", "sex" ], "values": [ [ "aaa",

2021-01-20 23:58:06 1852 1

原创 JUnit5——入门

1. JUnit5 组成JUnit 5 =JUnit Platform+JUnit Jupiter+JUnit VintageJUnit Platform:为在JVM上启动测试框架提供基础。它还定义了TestEngine API, 用来开发在平台上运行的测试框架。此外,平台提供了一个控制台启动器,用于从命令行启动平台,并为Gradle和Maven提供构建插件以及基于 JUnit 4的Runner,用于在平台上运行任意 TestEngine 。JUnit Jupiter是在JUnit...

2020-12-02 22:15:03 530

原创 Git——rebase命令

1. 应用场景合并多次提交记录 分支合并 对一个分支做『变基』操作2. 合并多次提交记录合并最近两次commit:git rebase -i HEAD~2执行命令后会自动进入vi编辑模式:pick 6935383 rename冲突pick 23b1a51 debug# Rebase eb7f366..23b1a51 onto eb7f366 (2 commands)## Commands:# p, pick <commit> = use commit..

2020-11-29 14:10:05 2343

原创 Git——reset的三种模式

1. reset 的三种模式 --hard:stage区和工作目录里的内容会被完全重置为和指定HEAD位置相同的内容。 --soft:保留工作目录和暂存区中未提交的内容,并把重置HEAD所带来的新的差异(回滚掉的commit较回滚后最新commit的修改)放进暂存区。 --mixed(默认):工作区、暂存区未提交的内容以及由reset所导致的新差异,都会被放进工作区。 2. reset --hard重置stage区和工作目录(慎用)。在r...

2020-11-25 22:13:25 2022

原创 MongoDB——基本操作、数据类型

1. 查看数据库语法:show databases> show databasesadmin 0.000GBconfig 0.000GBlocal 0.000GB2.选择数据库语法:use 数据库名> use adminswitched to db admin【注】MongoDB 选择不存在的数据库时不会报错,在后期插入数据时自动创建。...

2020-11-01 17:27:48 432

原创 MongoDB——安装

1. bin目录文件说明文件 说明 mongo 客户端程序,连接MongoDB mongod 服务端程序,启动MongoDB mongodump 备份程序 mongoexport 数据导出程序 mongofiles GridFS工具,内建的分布式文件系统 mongoimport 数据导入程序 mongorestore 数据恢复程序 mongos 数据分片程序,支持数据的横向扩展 mongostat 监视程序

2020-10-29 00:00:11 263

原创 Linux——配置静态IP

1. 查看网关信息选中 1、2、3 :进入 NAT 设置查看网关信息:2. 设置静态IProot 用户进入/etc/sysconfig/network-scripts目录修改ifcfg-ens33,原内容:TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="dhcp"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6...

2020-10-28 21:41:15 198

原创 Git——基础命令

基本概念工作区:能看到的目录 暂存区:stage 或 index。一般存放在.git/index 中,所以把暂存区有时也叫作索引(index)。 版本库:工作区有一个隐藏目录.git 就是Git 的版本库。图中左侧为工作区,右侧为版本库。"index" 为是暂存区(stage/index), "master" 是 master 分支所代表的目录树。 图中的 objects 标识的区域为 Git 的对象库,实际位于 ".git/objects" 目录下,里面包含了创建的各种对象...

2020-10-22 00:08:35 667

原创 Redis——配置文件 redis.conf

INCLUDES包含和我们的Struts2配置文件类似,可以通过includes包含,redis.conf可以作为总闸,包含其他NETWORK网络bind指定redis只接收来自于该IP地址的请求,如果不进行设置,那么将处理所有请求port默认值:port 6379。指定redis运行的端口,默认是6379。tcp-backlog默认值:tcp-backlog 511。设置tcp的backlog,backlog其实是一个连接队列,backlog队列总和=未完成三次..

2020-07-25 10:59:03 2585 2

原创 SpringCloud——分布式事务 Seata

一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用,就会产生分布式事务问题。1. 简介Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。官网:http://seata.io/zh-cn/1.1 原理TC (Transaction Coordinator) - 事务协调者:维护全局和分支事务的状态,驱动全局事务提交或回滚。TM (Transaction Manager) - 事务管理器:定义全局事务的范围:开始全局事务、提交或回滚

2020-07-17 13:12:17 543

原创 SpringCloud——熔断与限流 Sentinel

1. Sentinel 概述官网:https://github.com/alibaba/Sentinelhttps://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8DSentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。1.1 功能1.2 控制台安装Sentinel 分为两个部分:核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行时环境。 控制台(Da

2020-07-15 20:04:52 1192

原创 SpringCloud——服务注册和配置中心 Nacos

1.SpringCloud alibaba官网:https://spring.io/projects/spring-cloud-alibaba#overviewgithub:https://github.com/alibaba/spring-cloud-alibaba中文:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md1.1 功能服务限流降级:默认支持 WebServlet、WebFl...

2020-07-14 13:11:53 1570 1

原创 SpringCloud——分布式请求链路追踪 SpringCloud Sleuth

1. 概述在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一 条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会弓|起整个请求最后的失败。Spring Cloud Sleuth 提供了一套完整的服务跟踪解决方案,并且兼容支持了zipkin。官网:https://github.com/spring-cloud/spring-cloud-sleuth2. 搭建链路监控2.1zipkinSp...

2020-07-12 11:31:45 811

原创 SpringCloud——消息驱动 SpringCloud Stream

1. 概述1.1 是什么Spring Cloud Stream 是一个构建消息驱动微服务的框架。应用程序通过 inputs 或者 outputs 与 Spring Cloud Stream 中 binder 对象交互。通过配置来 binding(绑定),而 Spring Cloud Stream 的 binder 对象负责与消息中间件交互。所以,只需要搞清楚如何与 Spring Cloud Stream 交互就可以方便使用消息驱动的方式。通过使用Spring Integration来连接消息代理

2020-07-11 21:06:06 477

原创 SpringCloud——消息总线 SpringCloud Bus

1. 概述分布式自动刷新配置功能Spring Cloud Bus配合Spring Cloud Config使用可以实现配置的动态刷新。Spring Cloud Bus配合Spring Cloud Config使用可以实现配置的动态刷新。Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了Java的事件处理机制和消息中间件的功能。Spring Clud Bus目前支持RabbitMQ和Kafka。Spring Cloud Bu...

2020-07-10 22:56:25 963

原创 SpringCloud——分布式配置中心 SpringCloud Config

1. 概述1.1是什么官网:https://cloud.spring.io/spring-cloud-static/spring-cloud-config/2.2.1.RELEASE/reference/html/SpringCloud Config 为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个微服务应用的环境提供了一个中心化的外部配置。SpringCloud Config 分为服务端和客户端两部分。服务端也称为分布式配置中心,它是一个独立的微服务应用, 用来连.

2020-07-10 11:57:00 225

原创 SpringCloud——网关 Gateway

| SpringCloud Gateway是Spring Cloud的一个全新项目,基于Spring 5.0+ Spring Boot 2.0和Project Reactor等技术开发的网关,它旨在为| 微服务架构提供-种简单有效的统- -的API路由管理方式。SpringCloud Gateway作为Spring Cloud生态系统中的网关,目标是替代Zuul,在Spring Cloud 2.0以上版本中,没有对新版本的Zuul 2.0以上最新高性能版本进行集成,仍然还是使用的Zuul 1.x非Re

2020-07-09 13:00:28 943

原创 常见的限流算法

1. 为什么需要限流以服务的调用方来看,可以分为两种类型服务:对外提供的服务(web服务)、对内提供的服务(微服务之间调用)对外提供的服务有以下几种可能导致机器被拖垮:用户增长过快 热点事件 爬虫 刷单对内提供服务:一个服务A的接口假如被BCDE等多个服务进行调用,如果B服务发生突发流量,就会直接把A服务调用挂了,会导致CDE无法正常使用。解决方案:每个调用方采用线程池进行资源隔离(避免资源被耗尽无法分配资源) 使用限流手段对每个调用方进行限流2. 限流方式常见的限流有:

2020-07-08 21:04:13 516

原创 SpringCloud——Hystrix 断路器

服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引|起系统崩溃,所谓的“雪崩效应”.对于高流量的应用来说,单一的后端依赖可能会导致所有服务 器上的所有资源都在几秒钟内饱和。比失败更糟糕的是,这些应用程序还可能导致服务之间的延迟增加,备份队列,线程和其他系统资源紧张,导致整个系统发生更多的级联故障。这些都表示需要对故

2020-07-07 21:49:48 200

原创 SpringCloud——Openfeign 服务接口调用

1. Feign1.1 Feign 的作用Feign 旨在使编写 Java Http 客户端变得更容易。使用 Ribbon+ RestTemplate 时,利用 RestTemplate 对 http 请求的封装处理,形成了一套模版化的调用方法。但是在实际开发中,于对服务依赖的调用可能不止一处,往往一个接口会被多处调用,所以通常都会针对每个微服务自行封装一些客户端类来包装这些依赖服务的调用。所以,Feign 在此基础上做了进一步封装,由他来帮助我们定义和实现依赖服务接口的定义。在 Fe.

2020-06-10 19:01:31 771

原创 SpringCloud——Ribbon 负载均衡服务调用

Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目 ,要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon案户端组件提供一 系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer (简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。我们很容易使用Ribbon实现自定义的负载均衡算法。..

2020-06-10 11:43:35 233

原创 SpingCloud—— Consul 服务注册与发现

目录1. Consul1.1 功能1.2 Consul CMD 命令2. 服务提供者2.1 加 pom2.2 写 YML2.3 启动类2.4 controller2.5 测试验证3. 服务消费者3.1 加 pom3.2 写 YML3.3 启动类3.4 业务类3.5 测试验证1. Consul1.1 功能服务发现:提供 HTTP 和 DNS 两种发现方式健康监测:支持多种协议, HTTP、TCP、Docker、Shell脚本定制化..

2020-06-09 12:45:36 188

原创 SpingCloud—— ZooKeeper 服务注册与发现

1. 服务提供者新建 module :cloud-provider-payment80041.1 加 pom<dependencies> <dependency> <groupId>com.zth.springcloud</groupId> <artifactId>cloud-api-commons</artifactId> <version>${proj

2020-06-09 10:52:46 195

原创 SpringCloud——Eureka 服务注册与发现

1. 单击 Eureka 构建1.1 创建 EurekaServer 服务注册中心a. 建 moudleb. 改 pom<dependencies> <!--eureka server--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spr..

2020-06-08 18:42:29 361

原创 SpringCloud——创建 SpringCloud项目

1. 创建 project 工作空间1.1 微服务 cloud 聚合父工程 projecta. 创建 maven 工程b. 设置编码c. 注解生效激活d. java 编译版本2. 父工程 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/X.

2020-06-07 16:46:27 1961

原创 Nginx——keepalived+Nginx 高可用集群配置

首先准备两台机器,每个机器都安装有 keepalived 以及 Nginx,nginx 反向代理两个 tomcat 实现负载均衡,所以每个机器上安装docker 以及 tomcat。1. 配置 Keepalived1.1 配置 MASTER第一步:修改 /etc/hosts 文件, 添加: 127.0.0.1 KEEPALIVED_NGINX_MASTER第二步:将KEEPALIVED_NGINX_MASTER 配置到router_id第三步:注释掉...

2020-05-25 18:10:27 918 2

原创 Nginx——keepalived 安装及介绍

1. Keepalived 是什么keepalived 是集群管理中保证集群高可用的一个服务软件,通过keepalived 来实现 Nginx 集群高可用。高可用:两台业务系统启动着相同的服务,如果有一台故障,另一台自动接管,我们将将这个称之为高可用;keepalived 是以 VRRP 协议为基础实现的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将 N 台提供相同功能的路由器组

2020-05-23 20:16:57 180

原创 Nginx——Nginx 实现虚拟主机

1. 虚拟主机虚拟主机又称虚拟服务器,是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。虚拟主机之间完全独立,并可由用户自行管理,虚拟并非指不存在,而是指空间是由实体的服务器延伸而来,其硬件系统可以是基于服务器群,或者单个服务器。2. Nginx 实现虚拟主机实现三个域名 www.zth.com blog.zth.com download.zth.com 通过Nginx服务器,反向代理 来实现动态转发到 指定Tomcat服务器;2.1 启动三个 t...

2020-05-23 15:36:29 395

原创 Nginx——Nginx 实现动静分离

1. 动静分离在 web 服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开到不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。比如:可以将html 页面,css样式,js文件,以及图片文件等静态页面放 Nginx 服务器中,然后把动态请求显示的文件放 Tomcat这样的容器服务器;2. Nginx 实现动静分离通过 Nginx 分发请求,实现动态请求转发到Tomcat,静态请求转发到 Nginx 服务器,来实现动静分离;2.1 处理静态资源的 ...

2020-05-23 14:10:20 2081 1

原创 Nginx——Nginx 实现负载均衡

1. Nginx 负载均衡策略1.1 轮询(默认)每个请求轮流分配到不同的后端服务器,如果后端服务器挂掉,则自动被剔除;示例:upstream www.zth.com{ server 172.17.0.2:8080 ; server 172.17.0.3:9090 ;}1.2weight 权重根据 weight 权重,请求会根据权重比例分发给不同后端服务器,weight 权重越高,分配的比例越大;示例:upstream www.z...

2020-05-23 11:07:54 204

原创 Nginx——Nginx 实现反向代理

1. 代理1.1 代理服务器客户机在发送请求时,不直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,再由代理服务器发送给客户机。1.2代理服务器的作用1. 提高访问速度由于目标主机返回的数据会存放在代理服务器中,因此下一次客户再访问相同的数据时,会直接从代理服务器中读取,起到了缓存的作用,提高请求速度。2. 防火墙作用由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全信...

2020-05-22 14:17:26 223

原创 Nginx—— Nginx 安装、配置文件分析

1. Nginx 基于 Docker 安装以及目录挂载第一步:启动一个 Nginx 容器用于复制文件。 docker run -id-p 80:80 nginx docker cp b75c81ae105c:/etc/nginx/ /home/docker/第二步:挂载目录启动容器 docker run -id --name myNginx01 -v /home/docker/nginx/:/etc/nginx/ -p 80:80 nginx...

2020-05-22 12:31:09 188

原创 Docker——搭建私有仓库

1. 搭建私有仓库第一步:拉取私有仓库镜像 docker pull registry 私有仓库本身就是一个镜像第二步:启动私有仓库容器 docker run -di --name myRegistry -p 5000:5000 registry第三步:测试 http://192.168.214.10:5000/v2/_catalog第四步:修改 /etc/docker 下 daemon.json,让doc...

2020-05-21 20:09:08 247 1

原创 Docker——Dockerfile 构建自定义centos、tomcat

1. 构建自定义centOS1.1 编写 DockerFileFROM centosMAINTAINER zth<[email protected]>LABEL name="zth CentOS Image" \ build-date="20200521" ENV WORKPATH /home/WORKDIR $WORKPATHRUN yum -y install net-toolsRUN yum -y install vimEXPOSE 80CM

2020-05-21 18:07:53 285

原创 Docker——Dockerfile 简介及常用命令

1. Dockerfile 简介Dockerfile 是由一系列命令和参数构成的脚本,这些命令用于将操作系统(centos或者Ubuntu)作为基础镜像并最终创建一个新镜像;2. Dockerfile 常用命令FROM image_name:tag 定义基础镜像 MAINTAINER user_info 声明镜像维护者信息 LABEL key=value 镜像描述元信...

2020-05-21 12:26:14 263

原创 Docker——备份与迁移

备份镜像:命令:docker save -o 备份镜像名称 源镜像名称:tag版本恢复镜像:命令:docker load -i 镜像文件

2020-05-21 10:07:17 243

原创 Docker——容器目录挂载以及安装Tomcat8.5、mysql5.7

1. 容器目录挂载创建容器的时候,将宿主机的目录与容器内的目录进行映射,实现宿主机和容器目录的双向数据自动同步;通过容器目录挂载,轻松实现代码上传,配置修改,日志同步等需求;2.语法​​​docker run -it -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名【注】:如果同步的是多级目录,可能会出现权限不足的提示;这是因为Centos7中的安全模块selinux把权限禁掉了,我们需要添加 --privileged=true 来解决...

2020-05-21 09:21:36 582

原创 Docker——容器

1. 创建并启动容器命令:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]--name="容器名字":为容器命名-i:以交互模式运行容器,通常与-t或者-d同时使用; -t:为容器重新分配一个伪输入终端,通常与-i同时使用; -d: 后台运行容器,并返回容器ID; -P: 随机端口映射,容器内部端口随机映射到主机的端口 -p: 指定端口映射,格式为:主机(宿主)端口:容器端口启动普通容器:docker run --name 别...

2020-05-19 21:38:48 455

原创 Docker——镜像

1. 列出所有镜像命令:docker images可选参数:-a 显示所有镜像(包括中间层) -q 只显示镜像ID -qa -a和-q的组合 --digests 显示镜像的摘要信息 --no-trunc 显示完整的镜像信息2. 搜索镜像和https://hub.docker.com/搜索结果一样;命令:docker searc...

2020-05-18 20:39:20 126

原创 Docker——入门

1. Docker 是什么Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。2. Docker架构原理docker使用c/s架构,client通过接口与server进程通信实现容器的构建,运行和发布。client和server可以运行在同一台集群中,也可以实现跨主机远程通信Docker三要素:镜.

2020-05-18 19:28:02 250

阿里巴巴 MD5 算法

阿里巴巴 MD5 算法

2019-04-21

基于 jsp 的邮件管理系统 及源码

有三种邮件发送格式。1、HTML邮件格式 2、带附件邮件发送 3、普通邮件发送

2018-10-11

基于 jsp 邮件管理系统

基于jsp邮件管理系统 邮件的收发,管理等 。1.调用数据库缓冲池 2.调用Taglib 3.使用javamail的组件,收发邮件

2018-10-11

邮件系统源码

基于 Jsp 技术和java web 开发技术编写的电子邮件系统,后台实现。

2018-10-11

基于 C 语言的全国道路模拟系统

基于 C 语言的全国道路模拟系统,运用栈、队列、树、图等数据结构,选择最佳路线

2018-05-27

基于HTML5的网页版剧院管理系统

基于 HTML5 的网页版剧院管理系统,运用了 CSS3 层叠样式表,和 JS 样式。

2018-05-27

基于JAVA的TTMS剧院管理系统

基于JAVA的剧院管理系统,JAVAFX支持的图形用户界面,MySQL数据库后台。

2018-05-27

空空如也

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

TA关注的人

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