Eaphy's Blog

业精于勤荒于嬉,行成于思毁于随


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 搜索

魔镜心灵

置顶 | 发表于 2019-06-29 | 分类于 生活随笔
ʅ(´◔౪◔)ʃ     文章已加密,有缘自会相见 !!!
阅读全文 »

Docker 镜像的构建与推送

发表于 2025-07-26 | 分类于 网站运维

下列代码展示了完整的 Docker 镜像构建、标记和推送到 Docker Hub 的流程,包括单平台和多平台构建。下面我将详细解释每个步骤:

阅读全文 »

Hexo 博客迁移

发表于 2022-09-12 | 分类于 网站运维

最近新入手 Macbook Pro,使用了6年的 windows 电脑将逐渐被替换,因此需要将老电脑中的Hexo博客迁移至新电脑。由于习惯了目前的Next主题样式,不想更换到最新版,特需要将现在的所有环境版本同步到我的 Parallels Desktop 中的windows11中。

阅读全文 »

SpringCloud 组件原理

发表于 2020-03-06 | 分类于 springcloud

Eureka

设计原则

Eureka 采用纯 java 实现,其设计原则是AP,即可用性和分区容错性。它保证了注册中心的可用性,但舍弃了数据一致性,各节点上的数据有可能是不一致的,但是会最终一致。

阅读全文 »

项目踩坑

发表于 2020-03-04 | 分类于 面试相关

MQ 踩坑

坑一、消费者宕机,消息积压百万

挖坑: 实际项目中有发生过消费者挂掉,导致mq积压了上百万的消息。

填坑: 首先向公司申请了一批机器,构建了一个多倍于原有队列的mq,并且为他们设定了各自的消费者,然后临时修改原有的宕机消费者代码,使其接收到消息后不再消费,而是直接发到新建的mq中,然后重启恢复挂掉的消费者,让新建的mq的消费者去快速消费。消费完毕后,撤掉新建的mq,恢复原有代码,填坑完毕。

阅读全文 »

spring 多线程保证事务特性

发表于 2019-12-22 | 分类于 多线程

在业务逻辑中,开启多线程,可以提高性能,但是子线程报错,主线程难以捕获,导致事务特性难以保证。即主线程异常,如何回滚所有子线程,一个子线程异常,如何回滚主线程和其它所有子线程。经过实践,封装了一个工具类,用以保证多线程事务特性。
思路:
线程相互等待。主线程等子线程执行,如子线程有异常,主线程手动抛出,如无异常,子线程等主线程执行,如主线程有异常,回滚事务,如无,提交事务,等所有子线程执行完事务,主线程返回结果。
代码如下:

阅读全文 »

stream 流用法

发表于 2019-10-27 | 分类于 java

准备

初始一个集合对象,以供测试:

1
2
3
4
5
List<User> list = new ArrayList<>();
list.add(new User("张三", 12));
list.add(new User("李四", 16));
list.add(new User("王五", 18));
list.add(new User("赵六", 20));

filter

1
list.stream().filter(u -> u.getAge() >= 18).collect(Collectors.toList());
1
2
User{name='王五',  age=18}
User{name='赵六', age=20}
阅读全文 »

es 常用查询语句

发表于 2019-09-12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#添加数据
PUT /eaphy/student/1
{
"id":1,
"age":11,
"name":"小米",
"city":"北京",
"desc":"我是一个北京人"
}
PUT /eaphy/student/2
{"id":2,"age":12,"city":"南京","name":"小明","desc":"我是一个南京人"}

PUT /eaphy/student/3
{"id":3,"age":13,"city":"上海","name":"张三","desc":"我是一个上海人"}
阅读全文 »

Elasticsearch 解析

发表于 2019-09-01 | 分类于 开源框架

一、shard

  1. es 中的 shard 分为 primary shard 和 replica shard,后者是前者的副本,负责容错,承担读请求
  2. 每个 shard 都可以独立完成创建索引,处理请求,是一个最小工作单元
  3. 每个 document 只会存在一个 primary shard 和 其对应的 replica shard 中
  4. primary shard 在索引创建时固定,默认为 5,创建后不可修改, replica shard ,默认为1,可以修改
  5. 一个 index 包含多个 shard
阅读全文 »

面试突击-中间件篇

发表于 2019-08-26 | 分类于 面试相关

为什么使用MQ (优缺点)

优点

1.解耦
一个系统可能有abcd四个模块,a 模块是核心模块,bcd 都需要从 a 获取数据,那么就需要在 a 模块写3个接口给bcd传输数据,这样的话,不管是模块增减,还是数据有变,都需要在a模块修改代码,强耦合。此时 ,mq 可以解耦,a 把数据发送到mq,bcd 自行订阅消费即可。

2.异步
一个接口可能调用多个模块的接口,耗时较大。通过 mq ,可以让各个模块自行在后台消费,该接口只需要执行完自己的操作即可返回结果。

3.削峰
系统可能在某个时间点,有大量请求过来,可能会导致系统直接崩掉,而其他时间请求很少,此时就可以通过 mq 存储数据,在后台以每秒系统能够承受的压力去处理请求。

阅读全文 »
123
EAPHY

EAPHY

专注于技术,厚积而薄发 !
24 日志
11 分类
23 标签
© 2019 – 2025 EAPHY
0%