- 博客(87)
- 收藏
- 关注
原创 Docker-Compose
什么是docker-composeDocker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排通过编写docker-compose.yml文件可对多个服务同时进行启动/停止/更新(可定义依赖,按顺序启动服务)docker-compose将所管理的容器分为3层结构:名称节点组成project1一个微服务项目serviceN由N个微服务组成containerN而每个微服务又由N个节点组成docker-compo
2021-01-09 14:25:52 322 1
原创 docker跨主机集群之Flannel
docker跨主机集群之FlannelDocker跨主机容器间网络配置Flannel是什么情景描述Flannel实现的容器的跨主机通信通过如下过程实现Flannel的工作原理Flannel安装配置使用v2版的set(而非put)命令向ETCD中保存flannel覆盖网络信息安装flannel为flannel创建一个systemd服务,用于后台启动flanneld服务启用/自启/停止/重启验证flannel网络配置Docker测试flannelDocker跨主机容器间网络配置方式有:Pipework、Fl
2021-01-05 16:38:52 518
原创 etcd构建自身高可用集群
概述1.etcd构建自身高可用集群主要有三种形式**1.静态发现预先已知etcd集群中有哪些节点,在启动时通过–initial-cluster参数直接指定好etcd的各个节点地址2.etcd动态发现静态配置前提是在搭建集群之前已经提前知道各节点的信息,而实际应用中可能存在预先并不知道各节点ip的情况,这时可通过已经搭建的etcd来辅助搭建新的etcd集群。通过已有的etcd集群作为数据交互点,然后在扩展新的集群时实现通过已有集群进行服务发现的机制。比如官方提供的:discovery.etcd.
2021-01-05 09:35:15 691
原创 etcd分布式键值数据库安装(单机版)
etcd分布式键值数据库1. etcd是什么2.服务发现(重点)3. etcd关键词4. etcd工作原理5. etcd安装前介绍6. etcd安装(单节点)etcd基本使用1. etcd是什么etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库.etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现那么这个etcd用在哪呢?分布式系统,我们部署了多台节点,节点上的数据必须保持一致性这个etcd解决了分布式项目
2021-01-04 09:24:24 515
原创 RabbitMQ整合SpringCloud实战
前言前面我们了解了RabbitMQ的基本知识这一次我们来实际操作一把RabbitMQ整合 SpringCloud实战注意一点,在发送消息的时候对template进行配置mandatory=true保证监听有效生产端还可以配置其他属性,比如发送重试,超时时间、次数、间隔等消费端核心配置首先配置手工确认模式,用于ACK的手工处理,这样我们可以保证消息的可靠性送达,或者在消费端消费失败的时候可以做到重回队列、根据业务记录日志等处理可以设置消费端的监听个数和最大个数,用于控制消费端的并发情况
2021-01-02 22:41:59 355 1
原创 RabbitMQ消息模式下(消费端限流、消息的ACK与重回队列、TTL消息、死信队列)
RabbitMQ消息模式下消费端限流消息的ACK与重回队列TTL消息死信队列消费端限流什么是消费端的限流?假设一个场景,首先,我们RabbitMQ服务器有上万条未处理的消息,我们随便打开一个消费者客户端,会出现下面情况:巨量的消息瞬间全部推送过来,但是我们单个客户端无法同时处理这么多数据!消费端限流RabbitMQ提供的解决方案RabbitMQ提供了一种qos(服务质量保证)功能,即在非自动确认消息的前提下,如果一定数目的消息(通过基于Consumer或者Channel设置Qos的值)未被确
2021-01-02 21:29:06 217
原创 RabbitMQ消息模式(消息100%的投递,幂等性概念,自定义消费者)
RabbitMQ消息模式消息100%的投递幂等性概念Confirm确认消息Return返回消息自定义消费者(重点)消息100%的投递消息如何保障100%的投递成功?什么是生产端的可靠性投递?保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点(Broker)确认应答完善的消息进行补偿机制BAT/TMD互联网大厂的解决方案:方法1. 消息落库,对消息状态进行打标用户现在是下订单完毕后我们需要将订单存进数据库 将短信消息也存进数据库step1 第一步就
2021-01-01 21:33:36 269 1
原创 RabbitMQ快速入门安装和简介超详细~~
RabbitMQ简介+安装和快速入门+交换机概述RabbitMQ简介流量削峰AMQP核心概念(重点)哪些大厂在用RabbitMQ,为什幺?RabbitMQ高性能的原因?各大主流中间件对比Docker急速安装RabbitMQ只需要3步RabbitMQ常用操作命令RabbitMQ快速入门交换机详解概述RabbitMQ是—个开源的消息代理和队列服务器,用来通过普通协议 在完全不同的应用之间共享数据,RabbitMQ是使用Erlang语言来编写 的,并且RabbitMQ是基于AMQP协议的。RabbitMQ简
2021-01-01 18:25:07 1130
原创 Docker启动RabbitMQ访问15672连接超时解决方法
docker在成功启动rabbitmq后报错连接超时或者拒绝访问找了大佬的博客发现rabbitmq默认web界面管理插件是关闭的,只要通过命令开启就行1.docker ps查看rabbitmq的id2.进入容器docker exec -it 容器ID /bin/bash3.输入开启命令rabbitmq-plugins enable rabbitmq_management4.Reboot 重启虚拟机 我就是重启过后才好点5.如果还是不行 停止服务 再次开启docker stop
2021-01-01 17:05:43 1082
原创 Docker网络配置(桥接 ,仅主机)+docker部署springcloud
Docker网络配置Docker网络模式介绍外部访问docker容器Docker部署SpringCloud项目docker部署springcloudDocker网络模式介绍Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用–net去指定,其他三种模式需要在创建容器时使用–net去指定我们一般常用的模式只有一二两种:1.bridge模式(默认模式)又称桥接模式docker run时使用–net=bridge,这种模式会为每个容器
2020-12-30 12:21:19 807 1
原创 Docker 数据管理(数据卷,数据卷容器)
Docker 数据管理简介Docker宿主机和容器之间文件拷贝docker copy数据卷(Data Volumes)数据卷容器简介Docker 数据管理在生产环境中使用 Docker ,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作容器中的管理数据主要有两种方式:常用的是前面两种数据卷 Data Volumes 容器内数据直接映射到本地主机环境;数据卷容器(Data Volume Containers 使用特定容器维护数据卷当然还有最原始的c
2020-12-29 10:56:52 155
原创 自定义镜像上传阿里云(图文教程 附带思维导图)
自定义镜像上传阿里云alpine Linux简介思维导图使用Dockerfile基于alpine制作JDK8镜像使用Dockerfile基于alpine制作最小JRE基础镜像将Docker镜像上传至阿里云(上传、拉取)alpine Linux简介1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗。2.Alpine Linux提供了自己的包管理工具:apk(注意:u
2020-12-18 21:42:42 639 1
原创 Python运算符
Python运算符1.算术运算符2.赋值运算符3.比较运算符:结果: True False4.逻辑运算符5.位运算符:将左右两边的数字转成二进制6.三元运算符7.条件运算符:if elif else8.循环语句 while for9.随机数1.算术运算符1.两个数值相加,求加法注1:小数的+ - * /存在精度丢失问题精度丢失:数值的运算最终是转成二进制的形式,但是小数不好转成二进制案例:a = Decimal(“2.3”) #导入模块:from decimal import De
2020-12-18 10:46:29 519
原创 Docker之Dockerfile快速创建自定义镜像
Dockerfile 来快速创建自定义的镜像什么是Dockerfile思维导图dockerfile基本结构使用Dockerfile基于centos创建JDK8的镜像什么是Dockerfiledockerfile是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像另外,使用Dockerfile去构建镜像好比使用pom去构建maven项目一样,有异曲同工之妙学习文档:Docker Dockerfile有兴趣可以去看一下思维导图dockerfile基本结构Do
2020-12-15 21:06:48 272
原创 docker入门+下载到创建完整案列演示(附带思维导图)
初始docker前置条件思维导图Docker 架构Docker基础简介CentOS7 安装docker(在线方式)镜像的操作容器的操作前置条件需要掌握Linux及常用命令思维导图Docker 架构Docker 教程Docker基础简介1. Docker是什么Docker是一个由GO语言写的程序运行的“容器”(Linux containers, LXCs),它是完整的一套容器管理系统Docker提供了一组命令,让用户更加方便直接地使用容器技术,而无需要过多关心底层内核技术什么
2020-12-15 00:32:29 672
原创 初识SpringCloud Config
本章所学习内容1、SpringCloud Config简介2、Config Server基本使用3、Config Client基本使用4、Config整合Eureka5、Config配置搜索路径1、SpringCloud Config简介2、Config Server基本使用3、Config Client基本使用4、Config整合Eureka5、Config配置搜索路径...
2020-12-14 22:10:41 144
原创 Zuul路由网关简介及基本使用+Zuul路由映射配置+Zuul请求过滤配置
Zuul路由网关简介及基本使用1、Zull简介Zuul是Netflix OSS中的一员,是个基于 JVM 路由和服务端的负载均衡器。提供路由、监控、弹性、安全等方面的服务框架。Zuul能够与Eureka、Ribbon、Hystrix等组件配合使用。Zuul的核心是过滤器,通过这些过滤器我们可以扩展出很多功能,比如:动态路由:动态地将客户端的请求路由到后端不同的服务,做一些逻辑处理,比如聚合多个服务的数据返回。请求监控:可以对整个系统的请求进行监控,记录详细的请求响应日志,可以实时统计出当前系统的
2020-12-12 17:13:31 987
原创 Hystrix集群及集群监控turbine
Hystrix集群及监控turbine前面Dashboard演示的仅仅是单机服务监控,实际项目基本都是集群,所以这里集群监控用的是turbine。Hystrix Dashboard首页提到监控端点/turbine.stream,它是用来监控集群的。从端点的命名来看,它需要引入Turbine,通过它来汇集监控信息,并将聚合后的信息提供给Hystrix Dashboard来集中展示和监控。turbine是基于Dashboard的。先搞个集群;再microservice-student-provider
2020-12-11 22:56:20 251 1
原创 熔断器Hystrix及服务监控Dashboard
服务雪崩效应我们先来讲下服务器的雪崩效应是个什么东西当一个请求依赖多个服务的时候:正常情况下的访问但是,当请求的服务中出现无法访问、异常、超时等问题时(图中的I),那么用户的请求将会被阻塞。如果多个用户的请求中,都存在无法访问的服务,那么他们都将陷入阻塞的状态中。Hystrix的引入,可以通过服务熔断和服务降级来解决这个问题。服务熔断服务降级1.Hystrix断路器简介hystrix对应的中文名字是“豪猪”,豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机制,这与hyst
2020-12-11 00:09:20 268
原创 微服务调用Ribbon+Ribbon负载均衡+Feign简介及应用
微服务调用Ribbon简介前面讲了eureka服务注册与发现,但是结合eureka集群的服务调用没讲。这里的话 就要用到Ribbon,结合eureka,来实现服务的调用;Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP的客户端的行为。为Ribbon配置服务提供者地址后,Ribbon就可基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon默认为我们提供了很多负载均衡算法,例如轮询、随机等。当然,我们也可为Ribbon实现自定义的负载均衡算法。在Spring C
2020-12-10 20:00:42 625
原创 Eureka集群搭建+集群3合1
Eureka集群搭建1.Eureka是基于AP的分布式服务注册中心,集群中所有的Server节点都互为对方的备份,可以把所有的节点都看作是Master节点,也可以把所有的节点都看作是Slave节点,任一节点接收到新的服务注册请求后,都会在registry完成之后同步给其他的Server节点,续约操作renew和registry的逻辑一样。2.当集群中一个Server节点宕机之后,Client会把自动切换到存活的节点,由于集群中的所有Server之间是相互同步的,所以各个Server节点之间的信息是相同的
2020-12-08 21:51:48 488
原创 初识eureka
Eureka简介:Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。Eureka包含两个组件:Eureka Server和Eureka Client。Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样E
2020-12-08 19:55:02 155
原创 初识SpinrgCloud
Spring Cloud简介Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册配置中心消息总线、负载均衡断路器数据监控等都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部
2020-12-08 19:31:56 209
原创 报错:Failed to start component [Connector[HTTP/1.1-80]] 或者端口被占用解決方法
打开Windows+r打开cmd输入:netstat -aon|findstr 80(被占用的端口号)可以看到我的端口被一个pid为4的应用占用打开任务管理器找到pid为4的应用并结束该程序如果结束不了重启电脑或者更换端口号...
2020-12-08 11:07:28 1640 1
原创 SpringBoot+Quartz+数据库存储+Quartz四大应用场景
学习流程1、Spring整合Quartz2、读取数据库中表达式启动定时任务1(每5s执行)3、更改定时任务状态(启用/禁用),定时任务1停止4、读取数据库中表达式启动定时任务2(每5s执行),在对应作业类中打印定时任务2携带的参数5、读取数据库中表达式启动定时任务3(每5s执行改成每20s执行),更改数据库定时任务表达式,定时任务3对应执行策略相应发生改变。为了讲解内容方便,不涉及到页面,又能将功能展现出来,本篇博客采取的是spring自带的定时器与quartz调度框架一并使用。那么为什么要做
2020-12-03 22:22:35 531
转载 浅谈JPA一:JPA是什么?
定义JPA 即Java Persistence API。JPA 是一个基于O/R映射的标准规范(目前最新版本是JPA 2.1 )。所谓规范即只定义标准规则(如注解、接口),不提供实现,软件提供商可以按照标准规范来实现,而使用者只需按照规范中定义的方式来使用,而不用和软件提供商的实现打交道。JPA的出现有两个原因:简化现有Java EE和Java SE应用的对象持久化的开发工作;Sun希望整合对ORM技术,实现持久化领域的统一。JPA 的主要实现有Hibernate、EclipseLink 和Op
2020-12-03 09:08:37 376
原创 Quartz的学习过程+案列演示
本次学习内容1、Quartz简介及应用场景2、Quartz简单触发器 SimpleTrigger介绍3、Quartz表达式触发器CronTirgger介绍4、Quartz中参数传递5、Spring task Vs QuartzQuartz简介及应用场景1.任务调度框架“Quartz”是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是完全由java开发的一个开源的任务日程管理系统,2.“任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时,负责执行(
2020-12-02 22:27:26 405
原创 Springboot+bootstrap界面版之增删改查及图片上传
这一篇是将前面所了解的内容做一个整合来进行bootstrao界面版的增删改查及图片上传1.使用软件:IDEA 2019.3.32.jdk版本 1.83.bootstrap创建项目 所需依赖手动导入pom依赖 更改mysql版本<mysql.version>5.1.44</mysql.version><version>${mysql.version}</version><dependency> <groupId>
2020-12-01 23:16:05 828
原创 springboot之jpa支持详解+案列演示
定义JPA 即Java Persistence API。JPA 是一个基于O/R映射的标准规范(目前最新版本是JPA 2.1 )。所谓规范即只定义标准规则(如注解、接口),不提供实现,软件提供商可以按照标准规范来实现,而使用者只需按照规范中定义的方式来使用,而不用和软件提供商的实现打交道。JPA的出现有两个原因:简化现有Java EE和Java SE应用的对象持久化的开发工作;Sun希望整合对ORM技术,实现持久化领域的统一。JPA 的主要实现有Hibernate、EclipseLink 和Op
2020-12-01 20:43:18 287
原创 SpringBoot整合redis及其注解式开发
本次所学知识SpringBoot配置类SpringBoot整合redis及其注解式开发所用软件:IDEAVMware Workstation Pro (虚拟机)RedisDesktopManager (Redis实体操作工具)SpringBoot配置类1.我们的spirngboot在第一次将的时候提到过我们spirngboot项目实际上是只有一个配置文件的就是application.yml2.其实上面的理论是在我们不需要定制化开发才只有一个配置文件的3.打个比方现在我们的项.
2020-11-30 19:44:26 203
原创 SpirngBoot整合Mybatis(配置数据库连接池druid,整合pagehelper)
前面我们学习了springmvc现在来学习下springboot整合mybaits本次学习目标springboot配置数据库连接池druidspringboot整合mybatisspringboot整合pagehelperDruid简单介绍我们一般常用或者用过的连接池有两个一个是dbcp 和 c3p01 dbcpdbcp可能是使用最多的开源连接池,原因大概是因为配置方便,而且很多开源和tomcat应用例子都是使用的这个连接池吧。这个连接池可以设置最大和最小连接,连接等待时间等,基本功能
2020-11-29 12:31:46 703 1
原创 SpirngBoot系列之Thymeleaf模板和Freemarker模板
Thymeleaf模板thymeleaf是springboot官方推荐使用的java模板引擎。在springboot的参考指南里的Template Engines28.1.10 中介绍并推荐使用thymeleaf,建议我们应该避免使用js。jsp的本质是一个java的servlet类,jsp引擎将jsp的内容编译成.class,"out.write"输出到response再响应到浏览器,虽然java是一次编译,到处运行,但也大大增加了服务器压力,而且jsp将后台java语言嵌入页面,还要放入服务容器才
2020-11-26 21:24:38 249
原创 Springboot入门+内置属性+自定义属性+属性封装类
SpringBoot是什么?要说springboot之前,我们先来了解下传统的SSM开发,一般用过的人都知道,我们传统的SSM框架项目一般有很多的配置文件,需要什么依赖就导入什么依赖,而且需要我们整合三个框架,spring,springmvc,mybatis,还需要注意各种配置和兼容的问题,后期维护的难度很大1.在此前提下,由Pivotal团队开发了一个工具集,叫springboot.其实本质还是spring framework.底层代码也还是springmvc和spring的整合.不过不需要手动的区配
2020-11-18 16:04:05 394
原创 Java自定义注解讲解+案例+Aop自定义注解的应用
今日记录Java自定义注解在我们开发中经常会使用到注解,像什么@RequestMapping,@ResponseBody,@GetMapping@PostMapping,它们具有不同的属性有不同的用处,要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。1. Java注解(Annotation)Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。
2020-11-16 22:37:55 466
原创 Mybatis之关联关系映射(一对多、多对一)
这一篇记录Mybatis关联关系 一对多 和多对多使用工具IDEA 2019.3.3Mysql 数据库JDK 1.8实现思路1.在数据库中创建表在数据库创建 t_hibernate_order、t_hibernate_order_item 并且添加数据一对多:一个客户对应多个订单一对一关系推荐使用唯一主外键关联,即两个表使用外键关联,由于是一对一关联,因此还需要给外键增加unique唯一约束。private List orders=new ArrayList();
2020-10-25 22:26:27 446
原创 IDEA里面创建Maven项目实现Mybatis逆向工程(图文教程)
MyBatis介绍MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。MyBatis是一个优秀的持久层框架,它对JDBC的操作数据库的过程进行了封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动、创建Connection、创建Statement、手动设置参数、结果集检索等JDBC繁杂的过程代码了。MyBatis通过
2020-10-13 10:13:32 516 1
原创 Redis的基础介绍和服务端安装 和常用命令(图文教程需要VMware)
Redis的基础介绍和服务端安装基础介绍所需类容三级目录基础介绍中文网站:http://www.redis.cn/Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。学习网站:https://www.w3cschool
2020-10-06 18:05:04 262
原创 IDEA的介绍基础运用和优化还有各种功能(超级全!!多图!!)
IDEA的介绍基础运用和优化IDEA的基础介绍IDEA是什么?IDEA的评价IDEA的宗旨IDEA版本IDEA的优势IDEA为什么比Eclipse好用得多调试自动完成IDEA优化IDEA优化配置,提高启动和运行速度IDEA的setting介绍主题设置 调节背景色设置鼠标悬浮提示忽略大小写提示自动导包取消单行显示Tabs设置字体配置类文档注释信息模版设置文件编码设置自动编译水平或者垂直显示代码设置默认浏览器IDEA快捷键介绍基础运用IDEA的基础介绍官网:https://www.jetbrains.co
2020-09-26 14:53:49 5786 1
原创 IDEA优化内存配置,可提高启动和运行速 已安装内存12GB
自从装了IDEA每次开启要等老半天 等都要等死 点个文件又要半天后来找了下是应为IDEA默认启动配置主要考虑低配置用户,参数不高,导致 启动慢,然后运行也不流畅,这里我们需要优化下启动和运行配置现在教大家优化IDEA方法1.我们先查看一下自己的安装内存2.找到你的安装路径 进入 F:\IDE\IntelliJ IDEA 2019.3.3\bin 里面找到 idea.exe.vmoptions才装的打开都是这个配置的关键的三个参数第一个 -Xms 是最小启动内存参数第二个 -Xm
2020-09-24 16:32:10 1824
原创 Linux之部署项目+web项目部署在linux上的好处
Linux之部署项目+web项目部署在linux上的好处web项目部署在linux上的好处这篇所讲将项目打包成war包将war包导入到虚拟机里面解决问题结尾web项目部署在linux上的好处主要得益于Linux1.Linux系统5261是最具稳定性4102的系统;事实上,以Linux系统的美国服务器用户在出现系统崩溃的反馈上比1653例非常少。2.Linux是天生就比Windows更具安全性,无论是从服务器系统,桌面上或在嵌入式环境Linux系统都更具安全性。3.Windows服务器通常需要频繁的
2020-09-24 12:01:09 1406
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人