我没奶奶了
奶奶没了
我把门关了
奶奶门关上
再偷偷开个小缝
看得到她在的
像几天前一样
有呼吸机的声音
躺在床上翻身呢
ElasticSearch笔记
伸缩自如的ElasticSearch——通过bboss操作和访问elasticsearch模式
ClientUtilbboss操作和访问elasticsearch提供两种模式,分别对应两个组件:
RestClientUtil:通用组件,提供所有不依赖dsl的功能,也可以直接接收dsl。
ConfigRestClientUtil:加载配置文件中的dsl来实现对es的操作
这两个组件分别通过org.frameworkset.elasticsearch.ElasticSearchHelper中提供的静态工厂方法获取其单实例对象,这些单实例对象是多线程并发安全的,分别说明如下:
加载配置文件中的dsl来实现对es的操作模式123public static ClientInterface getConfigRestClientUtil(String configFile)public static ClientInterface getConfigRestClientUtil(String elasticSearch,String configFile) //elasticsearch参 ...
Java项目———里吉外卖(下半)
里吉外卖开发日记-上
读写分离问题分析
Mysql主从复制介绍MysSQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台AysQL数据库(slave,即从库)从另一台MysQL数据库(master,即主库)进行日志的复制然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL主从复制是MysQL数据库自带功能,无需借助第三方工具。
MysQL复制过程分成三步:
master将改变记录到二进制日志( binary log)
slave将master的binary log拷贝到它的中继日志(relay log)
slave重做中继日志中的事件,将改变应用到自己的数据库中配置-前置条件因为只有一个服务器能用,所以采用docker容器方式部署多个Mysql进行主从复制,服务器安装docker方式不多赘述,在安装完以后使用docker pull mysql拉取Mysql镜像
因为docker容器之间完全隔离,所以可以根据不同的docker容器映射宿主机的不同端口去完成多个mysql的主从复制,我这里使用的是拉取两个mysql ...
Java项目———里吉外卖(上半)
里吉外卖开发日记-上
开发整体介绍开发流程
角色分工
软件环境
里吉外卖项目介绍项目介绍
产品原型展示
技术选型
功能架构
角色
缓存优化用户数量多,系统访问量大频繁访问数据库,系统性能下降,用户体验差
环境搭建maven坐标在项目的pom.xm1文件中导入spring data redis的maven坐标:
1234<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>
配置文件在项目的application.yml中加入redis相关配置:
123456spring redis: host:172.17.2.94 port: 6379 password: root@123456 database: 0
配置类在项目中加入配置类RedisConfig:
123 ...
Java高频面试八股文-下半
B树和B+树的区别,为什么Mysql使用B+树B树的特点:
节点排序
一个节点了可以存多个元素,多个元素也升序排序了B+树的特点:
拥有B树的特点
2.叶子节点之间有指针
非叶子节点上的元素在叶子节点上都冗余了,也就是叶子节点中存储了所有的元素,并且排好顺序Mysql索引使用的是B+树,因为索引是用来加快查询的,而B+树通过对数据进行排序所以是可以提高查询速度的,然后通过一个节点中可以存储多个元素,从而可以使得B+树的高度不会太高。在MysqI中一个Innodb页就是一个B+树节点,一个nnodb页默认16kb,所以一般情况下一颗两层的B+树可以存2000万行左右的数据,然后通过利用B+树叶子节点存储了所有数据并且进行了排序,并且叶子节点之间有指针,可以很好的支持全表扫描。范围查找等SQL语句。
Explain语句结果中各个字段分表表示什么
列名
描述
id
查询语句中每出现一个SELECT关键字,MySQL就会为它分配一个唯一的id值,某些子查询会被优化为join查询,那么出现的id会一样
select_type
SELECT关键字对应的那个查询的类型
ta ...
自用网址
动漫网站https://www.96ba.com
网飞源影视https://ddys.site
提瓦特大地图https://webstatic.mihoyo.com/ys/app/interactive-map/index.html
开源影视https://www.freeok.vip/
Java高频面试八股文-上半
Java中有几种方式来创建线程执行任务可以说有一种也可以说有四种,一种是因为Java中创建线程执行的方式本质上都是使用Runnable接口实现;而四种分别是:
继承Thread类来重写run方法实现
实现Runnable接口重写run方法
实现Callable接口使用futureTast实现call方法来创建线程,这种可以返回线程执行结果
通过线程池创建线程
为什么不建议使用Executors来创建线程池Executors创建线程池的方式是调用LinkedBlockingQueue,它是一个无界阻塞队列,在线程执行任务时,可能会导致任务过多而不停的添加至队列中,而导致系统内存耗尽,最终导致OOM。而SingleThreadExector同样是调用LinkedBlockingQueue,所以建议使用ThreadPoolExector来定义线程池
线程池有几种状态?每种状态分别代表什么意思?
RUNNING 正常运行
SHUTDOWN shutdown() 不会接受新任务,但继续执行
STOP shutdownnow() 停止运行
TIDYING terminated() 线程池没有线 ...
SpringCloudConfig分布式配置
SpringCloud config分布式配置概述分布式系统面临的—配置文件的问题微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务,由于每个服务都需要必要的配置信息才能运行,所以一套集中式的,动态的配置管理设施是必不可少的。SpringCloud提供了ConfigServer来解决这个问题,我们每一个微服务自己带着一个application.yml,那上百的的配置文件要修改起来,岂不是要发疯!
什么是SpringCloud config分布式配置中心Spring Cloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环节提供了一个中心化的外部配置。
Spring Cloud Config分为服务端和客户端两部分;
服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息,加密,解密信息等访问接口。
客户端则是通过指定的配置中心来管理应用资源,以及与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息。配置服务器默认采用git来存 ...
zuul路由网关
什么是Zuul?Zuul包含了对请求的路由和过滤两个最主要的功能:
其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础。Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得。注意:Zuul服务最终还是会注册进Eureka提供:代理+路由+过滤三大功能!
zuul能干嘛?
路由
过滤
启动类实现注解@EnableZuulProxy启动Zuul路由
zuul的配置文件12345678910111213141516171819202122232425server: port: 9527spring: application: name: springcloud-zuuleureka: client: service-url: defaultZone: http://localhost:7001/eureka/,http://localh ...
Hystrix断路器
什么是HystrixHystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时,异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。
“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个服务预期的,可处理的备选响应(FallBack),而不是长时间的等待或者抛出调用方法无法处理的异常,这样就可以保证了服务调用方的线程不会被长时间,不必要的占用,从而避免了故障在分布式系统中的蔓延,乃至雪崩
能干嘛
服务降级
服务熔断
服务限流
接近实时的监控
……
服务熔断是什么熔断机制是对应雪崩效应的一种微服务链路保护机制。
当扇出链路的某个微服务不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回错误的响应信息。当检测到该节点微服务调用响应正常后恢复调用链路。在SpringCloud框架里熔断机制通过Hystrix实现。Hystrix会监控微服务间调用的状况,当失败的调用到一定阈值,缺省是 ...