1. 硬件组成
1945年-科学家冯·诺依曼提了一种计算机设计实现架构
五大组成部分:运算器、控制器、存储器、输入设备、输出设备
控制器 Control Unit 简称 【CU】,用于控制其他组件的运行
运算器 Arithmetic/Logic Unit 简称 【ALU】,用来完成各种二进制编码做算术运算和逻辑运算,控制器+运算器=CPU
存储器 用来存取数据,内存,外存
输入设备 计算机接收外界输入数据的工具,比如键盘、鼠标、麦克风、触摸屏、手写输入板,游戏杆等
输出设备 计算机向外输出数据的工具,比如显示器、音响、打印机等
2. 操作系统操作系统用于管理计算机中所有的硬件和软件,用户通过操作系统来使用计算机硬件
核心功能:
进程管理:操作系统为进程分配任务,解决处理器的调度、分配和回收等
处理器管理:CPU的管理和分配,比如分配进程,CPU调度执行
内存管理:内存的管理和分配,比如给程序分配内存和释放内存
外存管理:持久化存储的管理和分配,比如磁盘文件读写
I/O管理:输入/输出设备的管理,比如键盘输入和网络收发
2.1 进 ...
1. Maven使用过程中的报错总结
maven刷新报错’parent.relativePath’ of POM
1'parent.relativePath' of POM com.xxx.web.cloud:xxx-boot-job:1.1.1-SNAPSHOT (D:\code\xxx-build\xxx-boot-job\pom.xml) points at com.xxx:xxx-build instead of com.xxx.web.cloud:xxx-parent, please verify your project structure
原因:parent中指定的父级和modules指定的pom,不是同一个项目
父级指定的
1234567<parent> <artifactId>xxx-parent</artifactId> <groupId>com.xxx.web.cloud</groupId> <version>1.1.1-SNAPSHOT</v ...
1. 需求背景在使用springframework.data.elasticsearch时,@Document指定的索引名称indexName,都是固定的,但是有些需求,需要动态生成不同的索引名称,但是索引的映射是相同的。
2. 解决方案3. 代码实现
创建动态索引的类
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859package com.xxx.web.cloud.bot.es.config;import cn.hutool.core.util.StrUtil;import com.xxx.web.cloud.bot.enums.EnvironmentEnum;import com.xxx.web.cloud.bot.util.CustomConstant;/** * ES动态索引 * @author iseven.yang * @date 2023/10/9 10:37 */public class Dynami ...
1. 什么是时区问题在一个在纽约的同事,提了一个请假单,此纽约的同事电脑上的时间为2023-11-17 09:00:00,提交成功后,在上海的领导进行审批,此时上海的领导电脑上的时间为2023-11-17 22:00:00,看到审批单上的请假时间是2023-11-17 09:00:00,还以为是从今天上午的请的假。当领导审批完成后,纽约的同事会看到审批单的审批时间是2023-11-17 22:00:00,领导在未来的时间里进行了审批。
出现这个问题的原因就在因为纽约的同事,和上海的领导所在的时区不一样,在展示的时间上纽约的时间要比上海的时间慢13个小时。虽然都在同一时刻,但是显示在不同地方的时间是不一样的
所以要解决该问题,就需要在当前使用系统的用户设备上,展示根据时区转换后的时间
2. Java的时区表示在Java中,时区的表示方式有两种:
时区偏移量的形式:例如”GMT+8”。
这表示的是格林尼治标准时间加上8小时的时区,也就是东八区的时间。
区域的形式:例如”Asia/Shanghai”。
这表示的是亚洲/上海的时区,这种形式的好处是可以自动处理夏令时的 ...
1. 需求背景在使用ES进行搜索时,总需要在查询出来的内容中,把我们的搜索关键字高亮显示出来
2. 实现思路3. 代码实现
引入maven依赖
1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency>
自定义SearchResultMapper
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354package com.xxx.web.cloud.bot.es.config;import com.alibaba.fastjson.JSON;import org.elasticsearch.action.search.SearchResponse ...
1. CentOS单机源码安装ES81.1 安装环境
CentOS 7
4核8G
elasticsearch-8.4.1-linux-x86_64
1.2 下载资源
ES下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
1.3 执行安装
修改文件和进程最大打开数,需要root用户
vim /etc/security/limits.conf
添加配置
12* soft nofile 65535* hard nofile 65535
修改虚拟内存空间,默认太小,max_map_count文件包含限制一个进程可以拥有的VMA虚拟内存区域的数量,默认值是65536
vim /etc/sysctl.conf
添加vm.max_map_count=262144
执行sysctl -p(立即生效)
创建文件夹,mkdir -p /aacopy/elastic
上传安装文件
解压缩,tar -zxvf elasticsearch-8.4.1-linux-x86_64.tar.gz
...
1. 简介Elastic Stack是一个开源的数据分析和可视化平台,核心产品包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)等等。能够安全可靠地从任何来源获取任何格式的数据,然后对数据进行搜索、分析和可视化。以前叫ELK,就是现在的Elastic Stack
官方地址:https://www.elastic.co/cn/elastic-stack/
2. 核心产品2.1 Elasticsearch
Elasticsearch是Elastic Stack的核心所在
是一个分布式、RESTful 风格的搜索和数据分析引擎
基于java开发,高性能和可伸缩性闻名,能够快速地存储、搜索和分析大量结构化和非结构化数据
2.2 Logstash
是一个用于数据收集、转换和传输的数据处理引擎,支持从各种来源(如文件、日志、数据库等)收集数据
基于java开发,并对数据进行结构化、过滤和转换,然后将数据发送到Elasticsearch等目标存储或分析系统。
2.3 Kibana
基于node.js开发,数据可视化和仪表盘工 ...
报错信息1Caused by: com.netflix.client.ClientException: Load balancer does not have available server for client: ip
问题分析
项目中同时引用了spring-cloud-alibaba-seata 和 spring-cloud-starter-sleuth两个依赖。
Sleuth 的配置类TraceFeignClientAutoConfiguration 和 Seata 的配置类 SeataFeignClientAutoConfiguration 都创建了 FeignHystrixBuilder的bean,导致spring加载时冲突
解决方案方案一
在springboot启动类上排除SeataFeign配置类
1@SpringBootApplication(exclude = {SeataFeignClientAutoConfiguration.class})
使用自定义拦截器传递XID
1234567891011121314@Compone ...