- 博客(146)
- 资源 (119)
- 收藏
- 关注
原创 微服务数据库分库设计解决方案(跨库关联查询、分布式事务处理)
现在互联网应用已经普及,数据量不断增大。对BAT等互联网业务来说,传统单实例数据库很难支撑其性能和存储的要求,所以数据库拆分势在必行。同时数据库分库后,又面临跨库关联查询、分布式事务等问题,如何解决?...
2022-08-05 15:48:56 9506 13
原创 DDD领域驱动设计:四层架构应用
文章目录前言一、DDD四层与传统三层区别二、四层架构详解1.分层作用2.领域对象三、编码实践1.代码结构四、常见问题1.领域模型(充血模型)注入问题结尾前言分层架构是运用最为广泛的一种架构模式,几乎每个软件系统都需要通过分层来隔离不同的关注点,以应对不同需求的变化,并且使得这种变化可以独立进行。 对于分层架构来说,层次越往上其抽象层次就越面向业务和用户,层次越往下其抽象层次就越面向技术和设备。一、DDD四层与传统三层区别我们常用的三层架构模型划分为表现层,业务逻辑层,数据访问层等,在DDD分层结构
2021-12-17 10:28:43 15641 7
原创 DDD领域驱动设计:CQRS架构模式
文章目录前言一、 CQRS介绍1.什么是 CQRS2.为何要使用CQRS二、CQRS 架构1.单数据库 CQRS2.双数据库 CQRS3.事件源 (Event source) CQRS结尾前言DDD 作为一种系统分析的方法论,最大的问题是如何在项目中实践。而在实践过程中必然会面临许多的问题,「模式」是系统架构领域中一种常见的手段,能够帮助开发人员与架构师在遭遇某种较为棘手,或是陌生的问题时,参考已有的成熟经验与解决方案,从而优雅的解决自己项目中的问题。本篇介绍的是CQRS,中文名为命令查询职责分离。
2021-11-04 16:56:51 12200 11
原创 DDD领域驱动设计:贫血模型和充血模型详解
文章目录前言一、贫血模型1.介绍2.优点3.缺点4.代码样例二、充血模型1.介绍2.优点3.缺点4.代码样例三、对比分析1.为什么基于贫血模型的传统开发模式如此受欢迎?2.什么项目应该考虑使用基于充血模型的 DDD 开发模式?结尾前言这两个概念是早些时候Martin Fowler总结出来的两种常见模型设计类型,没有说谁好谁不好,为不同的模型类别选择合适的场景是设计者的工作。一、贫血模型1.介绍贫血模型是指领域对象里只有get和set方法(POJO),所有的业务逻辑都不包含在内而是放在Busin
2021-10-27 17:39:03 15649 5
原创 SpringBoot项目Jar包加密,防止反编译
许多项目要求部署到其他公司的服务器上,但是又不想将源码泄露出去。要求对正式环境的启动包进行安全性处理,防止客户直接通过反编译工具将代码反编译出来。
2024-06-23 22:02:37 1218 3
原创 minio数据迁移工具rclone使用
Rclone是一个命令行程序,用于管理云存储上的文件。它是云供应商的web存储接口的一个功能丰富的替代品。超过40种云存储产品支持rclone,包括S3对象存储、企业和消费者文件存储服务以及标准传输协议。Rclone具有与unix命令rsync、cp、mv、mount、ls、ncdu、tree、rm和cat相同的强大的云版本。Rclone熟悉的语法包括shell管道支持和——dry-run保护。它可在命令行、脚本中或通过其API使用。
2024-03-18 14:57:28 1675 3
原创 dolphinschedule3.2单机部署
JDK:下载JDK (1.8+),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到 PATH 环境变量中。如果你的环境中已存在,可以跳过这步。二进制包:在下载页面下载 DolphinScheduler 二进制包。
2024-01-31 16:54:47 688
原创 IntelliJ IDEA好用的插件
在开发过程中,一个好用的插件可以大大提高我们的工作效率。今天,我想向大家介绍一些在IntelliJ IDEA中非常好用的插件。这些插件可以帮助我们更快地完成代码编写、调试和版本控制等任务,从而提高我们的开发效率。
2024-01-31 16:50:44 523
原创 kafka3.6单机部署
部署Kafka之前,我们需要了解其背景和意义。Kafka是一个开源的分布式流处理平台,主要用于构建实时数据流管道和应用。它可以处理高速数据流,并支持发布和订阅模式。Kafka广泛应用于日志收集、流处理、消息队列等领域,具有高吞吐量、可扩展性、可靠性和容错性等优点。随着大数据和云计算技术的发展,数据量呈爆炸式增长,传统的数据处理方式已经无法满足需求。Kafka的出现为大数据处理带来了新的解决方案,它能够快速处理海量数据,提供实时的数据流服务。因此,部署Kafka对于企业来说具有重要的意义。
2024-01-31 16:37:09 677
原创 Doris数仓开发规范
2.没有办法分区的,数据又较快增长的,没办法按照时间动态分区,可以适当放大一下你的bucket数量,按照你的数据保存周期(180天)数据总量,来估算你的bucket数量应该是多少,建议还是单个bucket大小在1-3G。建议的方式是 1 FE(Follower) + 多个 OBserver(FE)方式,读写分析,所有的写连接 Follower,所有的读连接Observer。1.分桶字段注意事项:这个一般是数据分布比较均衡的,也是经常使用的字段,最好是高基数字段。
2024-01-03 15:02:59 1326
原创 flinkcdc踩坑指南
Flink CDC 常用两种方式进行数据的全量+增量一体的数据同步,数据清洗等功能。使用 DataStream API 进行任务的逻辑实现使用 Flink SQL 的方式进行任务的提交。
2023-10-12 09:23:33 1473 1
原创 flink1.17部署模式和部署方法
Apache Flink是一个框架和分布式处理引擎,用于对无边界和有边界的数据流进行有状态的计算。Flink被设计为可以在所有常见集群环境中运行,并能以内存速度和任意规模执行计算。目前市场上主流的流式计算框架有Apache Storm、Spark Streaming、Apache Flink等,但能够同时支持低延迟、高吞吐、Exactly-Once(收到的消息仅处理一次)的框架只有Apache Flink。
2023-10-10 15:29:28 2004
原创 linux单机部署kafka
Kafka是一个分布式的流处理平台。kafka主要是作为一个分布式的、可分区的、具有副本数的日志服务系性、高容错性、访问速度快、分布式等特性;统, 具有高水平扩展主要应用场景是:日志收集系统和分布式发布–订阅消息系统.
2023-10-09 09:33:10 398
原创 【腾讯云Cloud Studio实战训练营】使用React快速构建点餐H5
随着云计算产业的发展,各种基于云端的 IDE 相继出现。相比于传统的 IDE,云端 IDE 可以更大程度的提升用户工作的效率。云 IDE Cloud Studio 作为腾讯云出品的一款在线云端开发工具,它可以帮助用户减少安装 IDE 的成本,提供在线代码开发、编译、运行、存储的一站式服务。下面我们以“云端开发”为主题,聚焦使用 Cloud Studio 进行编程学习、技术开发等多维度研发体验与探索,实现为公司和团队进行降本增效。本篇也将带大家快速构建React点餐H5页面。
2023-08-04 19:01:29 5390 55
原创 Doris单机安装部署
Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。
2023-07-12 16:16:00 4694 3
原创 【腾讯云 Finops Crane 集训营】降本增效利器Crane应用实战
FinOps(Financial Operations)是一种管理云计算成本的方法,它强调将云计算资源的成本与使用情况及业务需求相匹配,从而提高企业的效率和效益。在当前云计算环境下,FinOps已经成为了越来越多企业的管理方法。本文将会介绍Crane这个云计算成本管理工具,并详细介绍如何在实际应用中使用Crane进行云计算资源成本管理。经过一段时间的试用,说一下我对Finops Crane的个人看法。
2023-05-09 18:26:46 6840 130
原创 深入理解设计模式-模板方法模式
定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。
2023-04-27 10:25:51 5589 15
原创 深入理解设计模式-适配器模式
将一个类的接口,转换成客户期望的另一个接口。适配器让原来接口不谦容的类可以合作无间。Target(目标抽象类): 目标抽象类定义客户所需接口,可以是一个抽象类或接口,也可以是具体类Adaptee(适配者类): 适配者即被适配的角色,它定义了一个已经存在的接口,这个接口需要适配,适配者类一般是一个具体类,包含了客户希望使用的业务方法,在某些情况下可能没有适配者类的源代码。
2023-04-24 16:52:10 5857
原创 Keepalived+LVS(DR模式)安装部署实战详细教程
Keepalived 的设计目的是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器,管理服务器池,而不仅仅用作双机热备。使用Keepalived 构建LVS群集更加简便易用,主要优势体现在:对LVS负载均衡调度器实现热备切换,提高可用性;对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入。
2023-03-16 14:32:11 6209
原创 kubekey安装k8s集群详细手册
KubeKey是go语言开发的一款云原生容器工具,使用 KubeKe可以轻松、高效、灵活地单独或整体安装 Kubernetes 和 KubeSphere。本节我们体验一下使用KubeKey一键式部署一个k8s集群。
2023-03-14 19:28:38 6206
原创 K8S 问题与解决方案汇总
pod中配置了多种环境变量,均无法查询到,起初以为"小数点."是特殊符号无法命名,后来发现我在k8s中设置的变量只注入到了bash shell 中,却没有注入到sh shell里,但是通常情况下,我们的/bin/sh 只是一个指向/bin/bash的软连接,不应该出现不一致的情况。但是我登陆容器之后通过 ls -lh /bin/sh 命令发现,容器中的 /bin/sh 实际指向的却是dash shell。
2023-03-09 09:16:24 5583 1
原创 nginx安装lua、jwt模块,通过lua验证jwt实现蓝绿发布样例
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
2023-02-27 16:07:46 6223 2
原创 docker安装nacos2.2详细手册
Nacos是SpringCloudAlibaba架构中最重要的组件。Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供注册中心、配置中心和动态 DNS 服务三大功能。能够无缝对接Springcloud、Spring、Dubbo等流行框架nacos支持AP和CP的模式切换,默认为AP模式, eureka仅支持AP模式,zookeeper仅支持CP模式。
2023-02-17 09:35:28 8680 1
原创 Harbor安装部署实战详细手册
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。
2023-02-15 11:54:27 15859 7
原创 jvm堆外内存排查详解
内存泄漏想必大家并不陌生,对于jvm的内存泄漏,有很多排查手段和方便的排查工具,例如MAL,但是对于非jvm的内存,如直接内存的使用,排查起来较为麻烦,下面介绍一下相关的排查手段。
2023-01-31 15:21:16 11864
原创 java 零拷贝详细讲解
零拷贝(英语: Zero-copy) 技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。Linux提供的领拷贝技术 Java并不是全支持,支持2种(内存映射mmap、sendfile)。
2023-01-03 15:37:13 8817 2
原创 K8S 数据存储详细讲解
NFS是一个网络文件存储系统,可以搭建一台NFS服务器,然后将Pod中的存储直接连接到NFS系统上,这样的话,无论Pod在节点上怎么转移,只要Node跟NFS的对接没问题,数据就可以成功访问。当存储资源使用完毕后,用户可以删除PVC,与该PVC绑定的PV将会被标记为“已释放”,但还不能立刻与其他PVC进行绑定。HostPath可以解决数据持久化的问题,但是一旦Node节点故障了,Pod如果转移到了别的节点,又会出现问题了,此时需要准备单独的网络存储系统,比较常用的用NFS、CIFS。
2022-12-30 15:26:35 6471
原创 K8S Service详细讲解
在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。Service在很多情况下只是一个概念,真正起作用的其实是kube-proxy服务进程,每个Node节点上都运行着一个kube
2022-12-06 11:05:56 5590
原创 K8S Pod控制器详细讲解
Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类:Pod控制器:Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod。在kubernetes中,有很多类型的pod控制器,每种都有自己的适合的场景,常见的有下面这些:ReplicaSet的主要作用是保证一
2022-12-06 09:41:50 5561
原创 k8s pod详细讲解
用户程序所在的容器,数量可多可少Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个:可以以它为依据,评估整个Pod的健康状态可以在根容器上设置Ip地址,其它容器都此Ip(Pod IP),以实现Pod内部的网路通信Pod的之间的通讯采用虚拟二层网络技术来实现,一般采用Flannel。
2022-11-30 11:53:07 5924
原创 k8s dashboard安装部署实战详细手册
k8s采用的是基于角色的访问控制策略,Role-Based Access Control, 即”RBAC”,使用”rbac.authorization.k8s.io” API Group实现授权决策,涉及到ServiceAccount,Role,ClusterRole,RoleBinding,ClusterRoleBinding,Secret等概念。复制最后的token字符串到登录界面,点击登录,可以看到dashboard首页。k8s提供两种登录机制,本文采用Token访问机制进行登录。
2022-11-25 12:43:46 6787
原创 kubeadm安装k8s集群详细手册
修改net-conf.json下面的网段为上面init pod-network-cidr的网段地址(必须正确否则会导致集群网络问题)下面两种插件二选一,master上执行,如果是云服务器建议按照flannel,calico可能会和云网络环境有冲突。下载yaml文件(如下载出现问题,可以拷贝下面网址内容,本地创建calico-3.9.2.yaml)复制上面生成的一串命令,我这里只是示例,命令根据你实际生成的复制去node节点执行。这里执行完会生成一串命令用于node节点的加入,记录下来,接着执行以下命令。
2022-11-21 14:48:12 5853
原创 docker安装部署实战详细手册
Docker 是一个开源的容器引擎,它有助于更快地交付应用。Docker 可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker , 可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。
2022-11-17 15:58:30 6601
原创 【Linux内核性能优化】TCP调优
TCP 是面向连接的、可靠的、双向传输的传输层通信协议,所以在传输数据之前需要经过三次握手才能建立连接。TCP 三次握手的性能提升;TCP 四次挥手的性能提升;TCP 数据传输的性能提升;
2022-10-24 16:59:47 6558
原创 Dockerfile命令详细讲解
Dockerfile是Docker用来构建镜像的文本文件,包括自定义的指令和格式。可以通过docker build命令从Dockerfile中构建镜像。用户可以通过统一的语法命令来根据需求进行配置,通过这份统一的配置文件,在不同的文件上进行分发,需要使用时就可以根据配置文件进行自动化构建,这解决了开发人员构建镜像的复杂过程。
2022-10-24 09:59:43 6678
原创 【Linux内核性能优化】ulimit(nproc、nofile)
为了防止失控的进程破坏系统的性能,UNIX和Linux会跟踪进程使用的大部分资源,并允许用户和系统管理员使用对进程的资源限制,例如控制某个进程打开的文件数、对某个用户打开系统进程数进行限制等,一般限制手段包括软限制和硬限制。软限制(soft limit):内核实际执行的限制,任何进程都可以将软限制设置为任意小于或等于对进程限制的硬限制的值、最大线程数(nproc)和文件数(nofile)硬限制(hard limit):可以在任何时候任何进程中设置,但硬限制只能由超级用户修改查看所有用户创建的进程数。
2022-10-21 13:58:48 6780
大数据技术之Apache Paimon
2024-07-24
kubekey-k8s-1.23.7安装包
2023-03-14
nginx、lua、jwt安装包及蓝绿发布代码
2023-02-28
java日志框架视频教程
2022-11-28
Java进阶教程Java设计模式(图解+框架源码分析+实战)视频教程
2022-11-28
9天快速掌握java基础视频教程
2022-11-28
Java数据结构与算法视频教程
2022-11-28
JUC并发编程视频教程
2022-11-28
Vue.js快速入门视频教程
2022-11-25
Elastic-Job分布式任务调度视频教程
2022-11-25
深入解析docker容器化技术视频教程
2022-11-25
容器集群管理系统K8S从入门到精通视频教程
2022-11-25
大数据技术之HadoopHA视频教程
2022-07-08
大数据技术之DolphinScheduler2.x视频教程
2022-07-08
大数据技术之ClickHouse视频教程
2022-07-08
大数据技术之Maxwell视频教程
2022-07-08
大数据技术之Azkaban3.X视频教程
2022-07-08
大数据技术之Canal视频教程
2022-07-08
大数据技术之Atlas视频教程
2022-07-08
大数据技术之Superset视频教程
2022-07-08
大数据技术之Kylin视频教程
2022-07-08
大数据监控告警系统(Prometheus)视频教程
2022-07-08
大数据技术之Flink CDC视频教程
2022-07-08
全面讲解开源数据库中间件MyCat使用及原理视频教程
2022-06-09
Java进阶SSO单点登录技术CAS-快速上手与原理探究视频教程
2022-06-09
Java物联网开发“尚方宝剑”之EMQ视频教程
2022-06-09
基于AWS云平台大规模集群千亿数据调优方案视频教程
2022-06-09
大数据Redis系统视频教程
2022-06-09
Spark从零到精通完整版视频教程
2022-05-09
spark3.x从零到精通视频教程
2022-05-09
Jenkins从环境配置到项目开发视频教程
2022-05-09
轻松入门Apollo分布式配置中心-服务中间件视频教程
2022-05-09
最全Flume视频教程,大数据入门必学
2022-05-09
服务网格化Service Mesh入门到精通视频教程
2022-05-09
高可用的并发解决方案nginx+keepalived视频教程
2022-05-09
分布式系统架构解决方案之Dubbo视频教程
2022-05-09
JavaJDK新特性8-15详细视频讲解合集
2022-04-27
ELK高级搜索_ElasticStack技术栈视频教程
2022-04-18
k8s pod访问集群node网络不通
2023-03-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人