- 随笔记录3
- 生活2
- 家庭组网1
- 结构与算法30
- 数据结构6
- 集成配置42
- 集成构建1
- 设计模式24
- MyBatis2
- SpringBoot11
- 缓存Reids7
- 中间件MQ1
- Nginx10
- Elasticsearch4
- 文件系统6
- 项目管理8
- 代码规范5
- 代码质量2
- WEB测试1
- 编程技巧82
- Windows10
- CentOS15
- 编程基础2
- Shell脚本5
- HTML2
- CSSS6
- JavaScript8
- TypeScript2
- Java8
- VUE应用13
- Python8
- C++2
- GoLang1
- 容器技术44
- Docker11
- DockerSwarm1
- 镜像仓库2
- kubernetes介绍11
- kubernetes建设7
- kubernetes实战12
- 技术积累2
- 集群搭建1
- 运维技巧20
- 运维工具5
- 系统镜像1
- 开发搭建11
- 证书认证2
- 服务管理2
- 数据库15
- SQL1
- 达梦数据库2
- MySQL11
- InfluxDB1
- 实战项目5
- 文件存储1
- 高可用高并发架构3
- 商城项目1
- 天信瑞安3
- 云盘服务3
桥接网络
## 创建桥接连接
nmcli connection add type bridge ifname br0 con-name br0
## 添加网络接口到桥接连接
nmcli connection add type bridge-slave ifname enp1s0 master br0
nmcli connection add type bridge-slave ifname enp2s0 master br0
nmcli connection add type bridge-slave ifname enp3s0 master br0
nmcli connection add type bridge-slave ifname enp4s0 master br0
nmcli connection add type bridge-slave ifname enp5s0 master br0
nmcli connection add type bridge-slave ifname enp6s0 master br0
nmcli connection add type bridge-slave ifname enp7s0 master br0
nmcli connection add type bridge-slave ifname enp8s0 master br0
## 配置桥接连接的IPv4地址
# nmcli connection modify br0 ipv4.method manual ipv4.address 192.168.60.100/24
# nmcli connection modify br0 ipv4.addresses "192.168.100.26/24"
# nmcli connection modify br0 ipv4.gateway 192.168.100.2
# nmcli connection modify br0 ipv4.dns 8.8.8.8
## 设置IP地址:192.168.13.166
nmcli connection modify br0 ipv4.method manual ipv4.address 192.168.13.166/24 ipv4.gateway 192.168.13.1
## 添加IP地址:192.168.3.166
nmcli con mod br0 +ipv4.addresses "192.168.3.166/24"
# 重新加载连接
nmcli connection reload
# 启用桥接连接
nmcli connection up br0
systemctl restart network
## 删除桥接
nmcli connection delete br0
``
```bash
## 安装bridge-utils
apt-get install bridge-utils
yum instakk -y bridge-utils
## 创建桥接设备: 使用brctl命令创建一个桥接设备。假设你要创建一个名为br0的桥接设备,可以使用以下命令:
brctl addbr br0
## 将网络接口添加到桥接设备: 将要桥接的网络接口(网卡)添加到新创建的桥接设备中。例如,假设你有两个网卡eth0和eth1,可以使用以下命令:
brctl addif br0 eth0
brctl addif br0 eth1
## 激活桥接设备: 使用以下命令激活桥接设备:
ifconfig br0 up
## 配置IP地址: 为桥接设备分配一个IP地址。例如:
ifconfig br0 192.168.16.100 netmask 255.255.255.0
## 禁用原始网络接口: 如果你希望通过桥接设备来处理网络流量,可以禁用原始网络接口。例如:
ifconfig eth0 down
ifconfig eth1 down
## 或者使用ip link set命令:
ip link set dev eth0 down
ip link set dev eth1 down
需求
背景
公司提供了一套通用的JAVA基础组件包,希望可以通过promethus来监控现在公司内使用各版本代码库的比例,以及各版本代码库的使用情况。
这有利于我们做版本兼容,必要的时候可以对古早版本使用者溯源。
问题
需求似乎很简单,但真要获取自身的jar版本号还是挺麻烦的,有个比较简单但阴间的办法,就是给每一个组件都加上当前的jar版本号,写到配置文件里或者直接设置成常量,这样上报promethus时就可以直接获取到jar包版本号了,这个方法虽然可以解决问题,但每次迭代版本都要跟着改一遍所有组件包的版本号数据,过于麻烦。
有没有更好的解决办法呢?比如我们可不可以在gradle打包构建时拿到jar包的版本号,然后注入到每个组件中去呢?就像lombok那样,不需要写get、set方法,只需要加个注解标记就可以自动注入get、set方法。
CSS 的命名,采用 BEM 命名规范,可以有效的避免组件间样式的相互污染,减少嵌套层级。具体规则如下:
BEM 是什么?
BEM 使用分隔符将类名区隔成三个部分:
[prefix]-[block]__[element]--[modifier]
- prefix:全局的前缀,这里指代表 tdesign 的前缀,也就是 t-
- Block(块) :组件的最外层父元素,这个类包含最通用和可重用的功能。
- Element(元素) :组件内可包含一个或多个元素,元素为块添加了新功能。无需重置任何属性。
- Modifier(修饰类) :块或元素都可以通过修饰词来表示为变体。
1、Git全局配置
如果之前设置过全局的user.name
和user.email
, 需要先删掉,删除命令如下
# 查看全局配置
git config --global --list
# 删除全局配置的用户名
git config --global --unset user.name
# 删除全局配置的邮箱
git config --global --unset user.email
一、磁盘分区
在Linux下,磁盘格式化、分区和挂载的详细步骤如下所示:
1.确定磁盘设备
使用以下命令来查看可用磁盘设备:
fdisk -l
# Disk /dev/mmcblk1: 7456 MB, 7818182656 bytes, 15269888 sectors
# 238592 cylinders, 4 heads, 16 sectors/track
# Units: sectors of 1 * 512 = 512 bytes
# Disk /dev/mmcblk1 doesn't contain a valid partition table
# Disk /dev/mmcblk1boot0: 4 MB, 4194304 bytes, 8192 sectors
# 128 cylinders, 4 heads, 16 sectors/track
# Units: sectors of 1 * 512 = 512 bytes
# Disk /dev/mmcblk1boot0 doesn't contain a valid partition table
# Disk /dev/mmcblk1boot1: 4 MB, 4194304 bytes, 8192 sectors
# 128 cylinders, 4 heads, 16 sectors/track
# Units: sectors of 1 * 512 = 512 bytes
# Disk /dev/mmcblk1boot1 doesn't contain a valid partition table
# Disk /dev/mmcblk0: 15 GB, 15931539456 bytes, 31116288 sectors
# 486192 cylinders, 4 heads, 16 sectors/track
# Units: sectors of 1 * 512 = 512 bytes
# Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type
# /dev/mmcblk0p1 * 0,32,33 8,73,1 2048 133119 131072 64.0M c Win95 FAT32 (LBA)
# /dev/mmcblk0p2 8,73,2 912,229,21 133120 31116287 30983168 14.7G 83 Linux
Centos的终端用起来太单一了。想着换成zsh终端,并配合oh my zsh的主题。从而打造不一样的终端吧。
1、依赖拆分配置
只需要在项目pom.xml文件中添加下面的配置:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
<layout>ZIP</layout>
<!-- 这里是填写需要包含进去的jar,
必须项目中的某些模块,会经常变动,那么就应该将其坐标写进来
如果没有则nothing ,表示不打包依赖 -->
<includes>
<include>
<groupId>nothing</groupId>
<artifactId>nothing</artifactId>
</include>
<!-- 除了第三方依赖,会将子模块的引用加进来 -->
<!--
<include>
<groupId>com.example</groupId>
<artifactId>example-util</artifactId>
</include>
-->
</includes>
</configuration>
</plugin>
<!--拷贝依赖到jar外面的lib目录-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!--指定的依赖路径-->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
一、Netty 简介
Netty 是由 Jboss 提供的一个 Java 开源框架,现为 Github 上的独立项目。Netty 提供异步的、时间驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
也就是说,Netty 是一个基于 NIO 的客户、服务器端编程框架,使用 Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty 相当于简化和流线化了网络应用的编程开发过程,例如:基于 TCP 和 UDP 的 socket 服务开发。
二、Hello Netty
1、Redis 的单机、哨兵、集群的区别和选型?
单机模式
在单机模式下,Redis 运行在单个实例上,所有的数据都存储在这一个实例中。优点包括部署简单、操作方便,适用于快速的数据缓存需求。
- 缺点
- 单点故障:如果 Redis 实例出现故障,数据可能会丢失。
- 有限的容量:内存容量受到物理服务器的限制。
- 不支持高可用性:无法提供自动故障转移或负载均衡。