Spring Cloud 组件简要记录
1.注册中心Nacos/Eureka Eureka:1234AP 服务注册中心 2.0后停止开源短连接,定时发送和服务进行联系服务异常剔除时间最长可能需要3分钟 30s心跳+90s剔除 +60s下线 Nacos:1234CP/AP ephemeral=true服务注册中心, 配置中心, 健康检查, 负载君合,故障恢复,动态配置长连接,netty和服务直接连接心跳5s+15s设置不健康+30s剔除 2.实现远程调用的方式1Http接口(web接口、RestTemplate+Okhttp)、Feign、RPC调用(Dubbo、Socket编程)、Webservice。 Feign和OpenFeignFeign:1Feign集成了Ribbon、RestTemplate实现了负载均衡的执行Http调用 ...
分布式事务简单记录
事务事务具有 4 个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为 ACID 特性。 1234- Atomicity(原子性):一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被恢复到事务开始前的状态,就像这个事务从来没有执行过一样。- Consistency(一致性):在事务开始前、进行中、结束后,数据库的完整性没有被破坏。完整性包括外键约束、应用定义的等约束不会被破坏。- Isolation(隔离性):数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。- Durability(持久性):事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。 分布式事务会部分遵循 ACID 规范: 1234- 原子性:严格遵循- 一致性:事务完成后的一致性严格遵循;事务中的一致性可适当放宽- 隔离性:并行事务间不可影响;事务中间结果可见性允许安全放宽- ...
锁分类
基于锁的获取与释放方式分类隐式锁(内置锁或自动锁)1通过synchronized关键字实现的一种线程同步机制,当一个线程进入被synchronized修饰的方法或代码块时,它会自动获得对象级别的锁,退出该方法或代码块时则会自动释放这把锁。 隐式锁的实现机制主要包括以下两种类型12341.互斥锁 java虚拟机对synchronized 关键字处理的底层实现中,当锁竞争激烈且必须升级重量级锁时,会利用操作系统互斥量机制确保在同一时刻仅允许一个线程持有锁,从而实现严格的线程互斥控制2.内部锁或监视器锁 通过使用synchronized关键字便捷地管理和操作相应对象的监视器锁并在执行完毕后自动释放,这一过程对用户透明,故被称为隐式锁。每个Java对象均与一个监视器锁关联,以此来协调对该对象状态访问的并发控制 隐式锁适用场景123- 简洁易用,确保了线程安全,避免了竞态条件,异常处理下自动释放.- 锁定颗粒通常是对象级别,相对显示锁不灵活,高并发下可能引起锁争用,导致性能下级.-...
Docker简明概要
Docker 常用命令镜像命令1. docker images 查看镜像12(docker images -a) -a, --all # 显示所有镜像 (docker images -q) -q, --quiet # 仅显示镜像id 2. docker serach 搜索镜像 1docker search mysql --filter=STARS=5000 搜索stars大于5000的 3. docker pull 镜像[:tag]1如果不写tag,默认就是latest,最新的版本 4. docker rmi 镜像id123docker rmi -f 镜像iddocker rmi -f 镜像id 镜像iddocker rmi -f $(docker images -aq)删除全部镜像 提交镜像1docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG] 容器命令新建容器并启动1234567docker pull nginxdocker run -d -p 80:80 nginx -d...
elasticsearch入门记录
1.Docker 安装elasticsearch1.1.创建网络1docker network create elastic 1.2.创建elasticsearch1234567891011121314docker run -d \--restart=always \--name elasticsearch \--network elastic \-p 9388:9200 \-p 9389:9300 \--privileged \-v /opt/elasticsearch/data:/usr/share/elasticsearch/data \-v /opt/elasticsearch/plugins:/usr/share/elasticsearch/plugins \-v /opt/elasticsearch/config:/usr/share/Elasticsearch/config \-e "discovery.type=single-node" \-e "ES_JAVA_OPTS=-Xms256m -Xmx512m" \-e...
MiniIO
MinIO Docker安装使用和整合Docker安装12345678910111213docker run \ -p 9000:9000 \ -p 9001:9001 \ --name minio \ -d --restart=always \ -e "MINIO_ROOT_USER=minioadmin" \ -e "MINIO_ROOT_PASSWORD=minioadmin" \ -e "MINIO_BROWSER_DEFAULT_LOCALE=zh_CN" \ # 这个好像没啥用 -v /opt/minio/data:/data \ -v /opt/minio/config:/root/.minio \ minio/minio server \ /data --console-address ":9001" -address ":9000" SpringBoot整合maven12345<dependency> ...
k8s本地调试
k8s本地调试简要总结1.将 k8s master 节点的 ~/.kube/config 文件复制到本机电脑的用户目录下的 .kube 目录中 2.本地环境安装 kubectl 工具。 12https://kubernetes.io/releases/download/#binaries配置环境变量,在 Path 中新增指向 kubectl.exe 所在目录,验证是否可以访问整个集群环境 3.部署kt-connect 123456789101112131415161718192021KtConnect 是一款基于 k8s 环境用于提高本地测试联调效率的小工具。功能包括:Connect:建立数据代理通道,实现本地服务直接访问 k8s 集群内网(包括Pod IP和Service域名)Exchange:让集群服务流量重定向到本地,实现快速验证本地版本和调试排查问题Mesh:创建路由规则重定向特定流量,实现多人协作场景下互不影响的本地调试 ...
docker compose
Docker常用部署文件1.ollama1234567891011121314151617181920212223242526version: '3.8'services: ollama: image: ollama/ollama container_name: ollama ports: - "11434:11434" volumes: - ./ollama:/root/.ollama restart: unless-stopped open-webui: image: ghcr.io/open-webui/open-webui:main container_name: open-webui environment: ROOT_PATH: "ollama" OLLAMA_BASE_URL: "http://ollama:11434" ports: -...