分布式架构搭建
文章平均质量分 89
掂掂三生有幸
励志成为Java领域优质创作者,接商务合作、产品推广
展开
-
Java使用位图+redis生成抖音号、淘淘号、B站UID号等分布式ID
上一篇中我们介绍了《为什么亿级数据量时要使用位图》,今天这一篇就来实战使用位图。做分布式项目首先要考虑分布式ID的生成,分布式ID暂时没有太好的高性能全局递增或趋势递增,即使是美团的lefa、百度的uid-generator、滴滴的tinyid都或多或少借用了第三方中间件不但对性能有所影响也增加了系统的复杂度。我在之前的文章《高并发下分布式ID各个的解决方案以及redis集群分布式ID代码实现。原创 2022-10-24 08:30:00 · 3773 阅读 · 7 评论 -
【云原生】DevOps之使用Gitlab Runner进行CICD
在很久之前的文章中,我们已经搭建过了Jenkins+Docker+Harbor+SpringCloud微服务持续集成自动化部署,今天来介绍Gitlab原生的Gitlab Runner CICD功能。Gitlab实现CICD的方式有很多,比如通过Jenkins,通过Gitlab Runner等,今天主要介绍后者。Gitlab在安装的时候,就默认包含了Gitlab CI的能力,但是该能力只是用于协调作业,并不能真的去执行作业,因此需要搭配Gitlab Runner来作为执行器实现具体的CICD工作。原创 2022-10-18 08:30:00 · 5790 阅读 · 91 评论 -
【云原生专题】基于Docker+Neo4j图数据库搭建企业级分布式应用拓扑图
图数据库是NoSQL领域中的一种,在处理相关联的大数据方面比关系型数据库天然具有优势,近年来在知识图谱、金融风控、社交关系等场景中发挥了重要的角色功能。同时,图数据库在AI领域,天然适合诸如记忆提取、关联推理、归纳探索等场景,成为了人工智能领域不可缺少的部分。Neo4J是比较通用和常见的图数据库,具有社区版和企业版之分,普通学习使用免费的社区版即可。Neo4J还提供了一个Web访问的可视化执行与查询的界面,类似ElasticSearch一样,非常容易上手。...原创 2022-08-16 16:09:10 · 8885 阅读 · 114 评论 -
Docker常用命令(1)
目录基础实战1、找镜像2、启动容器3、修改容器内容1、进容器内部修改2、挂载数据到外部修改4、提交改变1、镜像传输5、推送远程仓库6、补充进阶实战1、编写自己的应用2、将应用打包成镜像1、以前2、现在3、怎么打包-Dockerfile3、启动容器4、部署中间件基础实战1、找镜像去docker hub,找到nginx镜像docker pull nginx #下载最新版镜像名:版本名(标签)docke..原创 2021-10-30 17:42:44 · 242 阅读 · 0 评论 -
专为云原生、微服务架构而设计的链路追踪工具 【SkyWalking介绍及搭建】
服务链路追踪已成为不可或缺的一环skywalking是一个优秀的国产开源框架,2015年由个人吴晟(华为开发者)开源 , 2017年加入apache 孵化器。skywalking是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器化技术(docker、K8s、Mesos)架构而设计,它是一款优秀的 APM(Application Performance Management)工具。skywalking是观察性分析平台和应用性能管理系统。提供分布式追踪、服务网格遥测分析、度量聚合和可视原创 2022-06-02 07:30:00 · 13409 阅读 · 84 评论 -
【云原生-Docker篇】之 Docker入门精讲
目录导航前言一、容器3W介绍1.1 什么是容器1.2 为什么需要容器1.3 容器是如何工作的二、容器技术与虚拟机技术2.1 相同2.2 不同前言写了几篇云原生之Docker篇的文章,发现没有写Docker入门篇,所以来补一下,希望能帮助更多刚入门Docker的同志。一、容器3W介绍1.1 什么是容器容器是一种轻量级、可移植、自包含的软件打包技术,使得应用程序及其需要的支持环境一起打包,以相同的方式运行在几乎任何地方。1.2 为什么需要容器对开发人员来说 :Build Once, Run A原创 2022-05-28 21:14:30 · 5048 阅读 · 24 评论 -
【云原生-Docker篇】之 Docker Registry的搭建与使用
一、Registry私仓介绍企业里面进行CICD的时候,需要将待发布的应用打成镜像推送到镜像仓库进行持续部署,此时肯定不方便推送到公有的镜像仓库,那么就需要自行搭建私有仓库了。好在Docker官方有Registry私有仓库的镜像,使得我们很方便就能基于容器搭建属于自己的镜像仓库。二、搭建过程# 拉取最新版本的镜像docker pull registry:latest# 启动registry容器docker run -d -p 5000:5000 --restart=always --name原创 2022-05-24 23:25:50 · 1919 阅读 · 21 评论 -
《JAVA生态圈技术总结》之 微服务架构蓝图总览
这里写目录标题一、微服务定义1.1 定义一1.2 定义二二、微服务利弊2.1 优点2.2 缺点三、微服务的适用性3.1 康威法则3.2 生产力3.3 架构演进四、服务分层五、服务注册发现六、微服务网关七、微服务配置中心八、微服务通信九、服务监控9.1 监控体系9.2 监控架构9.3 全链路监控十、断路器与流量控制十一、DevOps(云原生架构系列)十二、容器云一、微服务定义1.1 定义一微服务是一种架构风格,将单体应用划分成一组小的服务,尽量符合单一职责的原则,使得服务之间相互协作,实现业务功能;原创 2022-05-23 23:07:06 · 44383 阅读 · 151 评论 -
云原生之 Docker篇 Docker Stack介绍及使用入门
目录导航一、Stack介绍二、使用实例2.1 案例准备2.2 打包镜像2.3 镜像迁移方式一:推送和拉取方式二:导出和导入2.4 编写compose2.5 swarm集群搭建2.6 stack部署2.7 stack其它操作三、相关文档一、Stack介绍在前面的文章中,我们介绍Docker Compose,缺点是不能在分布式多机器上使用;我们还介绍了Docker swarm,缺点是不能同时编排多个服务,所以才有了Docker Stack,可以在分布式多机器上同时编排多个服务。二、使用实例2.1 案例准原创 2022-05-22 04:28:05 · 6467 阅读 · 64 评论 -
云原生之 Docker篇 Docker Compose介绍及使用入门
目录导航一、compose介绍二、compose使用2.1 单服务单容器使用2.2 多服务多容器依赖使用2.3 多服务多容器独立使用2.4 单服务多容器使用一、compose介绍在先前介绍Docker的内容中,我们从代码到部署容器需要经过两个步骤:打包镜像docker build;部署启动容器docker run;在真实的企业级应用中,一个服务往往需要和很多个其它的服务进行关联,单个服务也有可能有多个容器实例,如果需要发布,很可能会需要人员手动对每一个容器进行打包和启动的操作,非常繁琐,容易出错。原创 2022-05-21 13:40:45 · 3172 阅读 · 24 评论 -
Docker网络互联原理和比较不同模式以及自定义网络的使用总结
目录导航一、默认网络默认网络总结二、使用服务名使用服务名总结三、自定义网络自定义网络总结一、默认网络Docker默认在安装好的时候就会自动创建三个网络,我们可以使用docker network ls看到如下的三个网络信息。[root@wlidc ~]# docker network lsNETWORK ID NAME DRIVER SCOPE7b4d6fb49586 bridge bridge localb1c115e96419 host h原创 2022-05-19 22:20:29 · 1625 阅读 · 1 评论 -
云原生之 Docker Swarm服务编排介绍及使用入门
目录导航一、Swarm介绍二、Swarm实例2.1 准备工作2.2 创建集群2.3 使用集群一、Swarm介绍Docker Swarm是管理跨节点容器的编排工具,相较于Docker Compose而言,Compose只能编排单节点上的容器,Swarm将一群Docker节点虚拟化为一个主机,使得用户只要在单一主机上操作就能完成对整个容器集群的管理工作。如果下载的是最新版的Docker,那么Swarm就已经被包含在内了,无需再安装。Docker Swarm架构包含两种角色,manager和node,前者是原创 2022-05-19 20:20:09 · 3170 阅读 · 1 评论 -
SpringBoot应用整合并使用Docker安装ELK实现日志收集
SpringBoot整合ELK日志收集系统原创 2022-03-15 17:37:34 · 4873 阅读 · 0 评论 -
数据库与缓存一致性方案分享
数据库与缓存一致性方案原创 2022-01-12 17:58:24 · 159 阅读 · 0 评论 -
高并发下分布式ID各个的解决方案以及redis集群分布式ID代码实现
最近公司要把服务做成分布式的部署,所以生成全局唯一id是首先要考虑的点总结目录1.mysql自增id2.UUID3.雪花算法4.雪花算法的各种变种(解决时间回拨问题)5.redis集群或单机利用lua生成分布式id(代码演示)1.mysql自增id分库分表情况下要设置初始值与步长优点:不用集成第三方,当下就能使用缺点:以后随着机器的增多,维护成本以及生成策略不好控制2.UUID生来就可以作为分布式id,本身生成简单不需要任何第三方依赖优点:生成简单,速原创 2021-11-04 11:30:47 · 1675 阅读 · 5 评论