0%

个域网

个域网(PAN,Personal Area Network)是一种围绕个人活动空间构建的小型网络,其核心作用是实现个人周边设备之间的近距离通信与数据交互。通常情况下,个域网的覆盖范围较小,一般在 10 米以内,主要服务于单个用户或少数用户的设备互联需求,能让用户在自身活动范围内便捷地实现各类智能设备的信息共享、协同工作等功能。

个域网的特点

  • 覆盖范围小:这是个域网最显著的特点之一,大多集中在用户周围几米到十几米的空间内,刚好满足个人携带或使用的设备之间的通信需求,比如在办公室的个人工位、家中的客厅等场景。
  • 设备便携性强:连接到个域网的设备通常是个人随身携带或常用的便携设备,如智能手机、平板电脑、智能手表、笔记本电脑、无线耳机、智能手环等。
  • 低功耗与低成本:由于个域网中的设备多为电池供电的便携设备,因此相关的通信技术通常注重低功耗设计,以延长设备的续航时间。同时,为了便于普及,其硬件和部署成本相对较低。
  • 传输速率适中:个域网主要用于传输个人设备间的少量数据,如文件传输、音频流、控制指令等,因此不需要极高的传输速率,一般能满足日常的低速到中速数据传输即可。

个域网常用的通信技术

除了大家熟知的蓝牙技术,个域网还有其他常用的通信技术:

阅读全文 »

局域网(LAN)深度解析

局域网(LAN,Local Area Network)是一种覆盖有限地理范围(如家庭、办公室、校园)的私有网络,其核心功能是实现局部范围内计算机、终端及智能设备的资源共享(如文件、打印机、网络带宽)和信息交互。相比广域网(WAN),局域网具有传输速率高、延迟低、成本可控等特点,是现代网络架构中最基础的组成部分。

局域网的核心特征

  1. 地理范围有限
    通常覆盖几十米到几公里,如单栋办公楼、家庭住宅或校园内的某片区域,超出范围则需通过路由设备扩展。
  2. 私有性与可控性
    由单一组织或个人管理,网络资源(如 IP 地址、设备接入)可自主配置,安全性易于控制(如通过防火墙、MAC 地址过滤)。
  3. 高带宽与低延迟
    主流局域网(如千兆以太网、Wi-Fi 6)传输速率可达 1Gbps 以上,延迟通常在毫秒级,适合高清视频传输、实时协作等场景。
  4. 设备互联灵活
    支持计算机、手机、智能家居、服务器等多种设备接入,通过有线(网线)或无线(Wi-Fi)方式连接。

局域网的关键设备

局域网的正常运行依赖于以下核心设备,负责数据转发、接入控制和网络管理:

阅读全文 »

Spring Boot 定制化内置 Tomcat 详解:1.x 与 2.x+ 版本适配指南

Spring Boot 内置的 Tomcat 容器虽提供默认配置,但实际开发中常需定制化调整(如修改端口、编码、线程池、 session 超时等)。不同 Spring Boot 版本(1.x 与 2.x+)提供的定制化接口存在差异,核心是从 EmbeddedServletContainerCustomizer(1.x)演进为 WebServerFactoryCustomizer(2.x+)。从 “1.x 版本定制→2.x+ 版本定制→核心配置场景→实战示例” 四个维度,系统讲解内置 Tomcat 的定制方法,帮你跨版本适配容器配置需求。

核心背景:版本演进与接口差异

Spring Boot 2.x 对内置服务器(Tomcat/Jetty/Undertow)的抽象层进行了重构,核心变化是将 “嵌入式 Servlet 容器” 的概念升级为 “Web 服务器”,对应的定制化接口也随之调整:

Spring Boot 版本 核心定制化接口 对应的 Tomcat 工厂类 适用场景
1.x 版本 EmbeddedServletContainerCustomizer TomcatEmbeddedServletContainerFactory 1.x 版本定制内置 Tomcat
2.x+ 版本 WebServerFactoryCustomizer TomcatServletWebServerFactory 2.x+ 版本定制内置 Tomcat

核心逻辑不变:均通过 “定制器接口” 获取 Tomcat 工厂类,再通过工厂类设置容器参数(如端口、编码、线程池)。

1.x 版本:基于 EmbeddedServletContainerCustomizer 定制

Spring Boot 1.x 中,通过实现 EmbeddedServletContainerCustomizer 接口,可获取 TomcatEmbeddedServletContainerFactory 工厂类,进而定制 Tomcat 配置。

1. 核心步骤

(1)实现 EmbeddedServletContainerCustomizer 接口
阅读全文 »

安全设置

Mycat作为一个连接数据库的中间件,距离数据是非常的近,所以还是需要进行一些安全的设置

权限控制

在server.xml中配置user标签进行权限控制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!-- 用户 -->
<user name="mycat" defaultAccount="true">

<property name="password">123456</property>
<property name="schemas">TESTDB</property>
<property name="defaultSchema">TESTDB</property>
<!--No MyCAT Database selected 错误前会尝试使用该schema作为schema,不设置则为null,报错 -->

<!-- 库级 表级 DML 权限设置
check为true则检查权限
dml权限
0000 禁止insert、update、select、delete
0010 可以select
1110 可以insert、uodate、select
1111 都可以
-->
<!--
<privileges check="false">
<schema name="TESTDB" dml="0110" >
<table name="tb01" dml="0000"></table>
<table name="tb02" dml="1111"></table>
</schema>
</privileges>
-->
</user>

<user name="user">
<property name="password">user</property>
<property name="schemas">TESTDB</property>
<!-- 只读 -->
<property name="readOnly">true</property>
<property name="defaultSchema">TESTDB</property>
</user>
阅读全文 »

分布式全局序列

由于Mycat进行分表操作,为了保证整个表的不同分片中的id要全局唯一,不可以使用mysql的自增id,那么如何进行全局序列的生成?

Mycat提供了三种生成全局序列的方式,本地文件、数据库方式、时间戳方式

在server.xml中配置sequnceHandlerType

1
2
<!-- 指定使用Mycat全局序列的类型。0为本地文件方式,1为数据库方式,2为时间戳序列方式 -->
<property name="sequnceHandlerType">1</property>

本地文件

Mycat将序列号配置到文件中,当使用序列号中的配置后,Mycat会更新classpath中sequence_conf.properties文件中sequence当前的值

阅读全文 »