自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

罗小爬的技术宝书

一只没有脚的鸟...停不下的学习,持续的进步,点滴技术的记录与分享。

  • 博客(277)
  • 资源 (5)
  • 收藏
  • 关注

转载 【转载】RabbitMQ 死信机制真的可以作为延时任务这个场景的解决方案吗?

其实就平时可能遇见的场景而言,使用RabbitMQ 的死信机制就已经足够了。毕竟大部分延时任务都是固定时间的,比如下单后半小时未支付则关闭订单这种场景。只要场景是有着固定时间的延时任务的话,RabbitMQ无疑可以很好的承担起这个需求。RabbitMQ 死信机制能作为延时任务这个场景的解决方案但是,由于 RabbitMQ 消息死亡并非异步化,而是阻塞的。所以无法作为复杂延时场景 -需要每条消息的死亡相互独立这种场景下的解决方案。

2024-09-14 09:53:26 116

原创 MySql批量迁移数据库

的多个单独的SQL脚本,每个SQL脚本名称即为数据库名(如my_db.sql脚本的数据库名为my_db),且排除内置的mysql、sys、information_schema、performance_schema数据库,具体导出脚本。中,每个sql脚本名称即为数据库名(如my_db.sql脚本的数据库名为my_db),批量建库、导入SQL脚本的。将备份目录(SQL_DIR)下的多个sql脚本恢复到。中的所有数据库(表结构、数据)导出到。

2024-09-12 10:44:41 616

原创 记一次用户认证代码重构中设计模式及设计原则的使用

接入AuthServer框架,预留UniLoginUserDetailsService接口,负责用户登录认证逻辑,RBAC支持多种用户登录认证,如账号密码、LDAP用户,且后续支持扩展其他的登录认证方式如手机验证码等。且这些业务规则适用于所有的认证类型,为了避免在每个认证实现类中都添加上述逻辑,则使用了模板方法模式。

2024-08-09 10:26:58 708

原创 记一次mysql迁移Kingbase8

我本次的任务是将msyql数据库迁移到kingbase数据库中,即源数据库是mysql,目标数据库是kingbase。第一眼顶部菜单像Navicat,继续使用会发现里面像DBeaver。不需要本地数据库服务,则仅需要。按照日志提示,可通过。

2024-07-06 13:38:44 1275

原创 记一次mysql导出到达梦数据库

使用官方DM数据迁移工具。

2024-07-06 13:38:01 426

转载 【转载】Oracle的用户、Schema、数据库、表空间、数据文件的相互关系

今天彻底搞懂Oracle的用户、Schema、数据库、表空间、数据文件的相互关系Oracle数据库时数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看做是oracle就只要一个大数据库。

2024-07-04 15:37:27 261

原创 【软考论文】扩展题目及大纲

软件质量保证(Software Quantity Assurance, SQA)指为【保证】软件系统或软件产品充分【满足用户要求的质量】,而进行的【有计划、有组织的活动】,这些活动贯穿于软件生产的各个阶段,即整个生命周期2类人软件开发人员技术工作:代码质量、技术评审、测试质量保证人员QA计划、监督、记录、分析及报告工作。

2024-06-28 08:50:47 121

原创 【软考论文】论信息系统的安全性与保密性设计

本人与2022年1月参与了某车厂的全渠道自动化精准营销系统,该系统以信息化技术为基础,将线上技术和线下平台相结合,打造新能源汽车新零售模式。我在项目中担任系统架构师角色,主要负责总体架构设计和公有云架构设计。本文以该精准营销平系统为例,讨论了信息系统安全性与保密性设计在该项目中的具体使用。在网络传输层通过使用基于Istio的零信任网络方案,来保证集群内外部的网络传输安全性。在数据层通过设置数据加密及数据备份机制,以保证数据机密性及灾后数据可恢复性。在应用层。

2024-06-28 08:47:11 84

原创 【软考论文】论基于架构的软件设计方法及应用(ABSD)

本人于2022年1月参与了某车厂的全渠道数字化精准营销平台项目,该系统为以数字化技术为基础,将线上平台、线下实体紧密结合,打造新能源新零售模式。在该项目组中我担任系统架构师的岗位,主要负责整体架构与公有云架构设计。本文以该精准营销平台为例,主要讨论了基于架构的软件开发在该项目中的具体应用。架构需求阶段,使用DDD来识别出构件、包、类等来描述系统结构,为系统的整体上层结构进行建模。架构复审阶段,使用ATAM对架构质量属性进行复审,以评估质量属性满足程度的问题。

2024-06-28 08:36:26 239

原创 【软考论文】论基于构件的软件开发(CBSD)

本人于2022年1月参与了某车厂的全渠道数字化精准营销平台项目,该系统为以数字化技术为基础,将线上平台、线下实体紧密结合,打造新能源新零售模式。在该项目组中我担任系统架构师的岗位,主要负责整体架构与公有云架构设计。本文以该精准营销平台为例,主要讨论了基于构件的软件开发在该项目中的具体应用。系统基于Spring Boot和K8S的微服务架构来进行构件化开发,在构件获取阶段通过使用构件库、集成第三方软件、对接现有系统或第三方服务来实现需求,在构件开发阶段使用了多种设计模式来保证构件的可重用性,在构件组装阶段。

2024-06-28 08:34:33 110

原创 【软考论文】论软件系统架构风格

本人于2022年1月参与了某车厂的全渠道数字化精准营销平台项目,该系统为以数字化技术为基础,将线上平台、线下实体紧密结合,打造新能源新零售模式。在该项目组中我担任系统架构师的岗位,主要负责整体架构与公有云架构设计。本文以该精准营销平台为例,主要讨论了软件架构风格选取在该项目中的具体应用。应用层整体采用了调用返回风格中的 分层架构,包括基于B/S的前后端分离架构、后端的MVC分层架构、前端的MVVM分层架构,使用分层风格明确了各层代码职责,降低了代码耦合度和开发难度。而后端各模块间的交互采用了。

2024-06-28 08:33:02 171

原创 【软考论文】项目背景及论文模版

本人于2022年1月参与了某车厂的全渠道数字化精准营销平台项目,该系统为以数字化技术为基础,将线上平台、线下实体紧密结合,打造新能源新零售模式。在该项目组中我担任系统架构师的岗位,主要负责整体架构与公有云架构设计。本文以该精准营销平台为例,主要讨论了。

2024-06-28 08:31:34 62

原创 Redis Stream & Redisson Stream

子命令式可选的,表示无需确认消息,NOACK子命令适用于对可靠性要求不高、偶尔的消息丢失是可以接受的情况,使用NOACK子命令可以避免将消息添加到PEL( Pending Entries List),相当于在读取消息后自动确认消息,后续无需再调用XACK命令进行确认,通过XPENDING查询出PEL消息(已投递未确认)后,若原先消息对应的consumer已经挂掉,没有能力继续处理消息,则可通过XCLIAM将对应的消息转移给同分组下的其他consumer进行处理,

2024-06-27 08:26:19 1339

原创 Redis Pub/Sub & Redisson Topic

消息传递语义,Redis Pub/Sub采取的是发送即忘(fire and forget)策略,这意味着一条消息将被传递一次(如果有的话),一旦Redis服务器发送了消息,就没有机会再次发送。如果订阅者无法处理消息(例如,出错、断线、网络断开后重新连接),则客户端断开时传递的所有消息都将丢失。同时Redis Sub无法在多客户端间负载均衡(即所有客户端都会收到同一条Redis消息,需要应用做去重(幂等)、分片处理等)。实现了发布/订阅消息传递范式,发送端和订阅端通过channel进行关联。

2024-06-22 16:40:06 421

原创 什么是Glob-style

Glob-style是一种用于文件名匹配的模式,常用于Unix和类Unix系统中。它使用特殊的符号来表示特定的匹配模式。这些模式可以组合使用,以创建更复杂的匹配模式。将匹配所有扩展名为.c或.h的文件。

2024-06-20 15:29:06 171

原创 Maven依赖优先级速记

参考:Maven依赖引入的优先机制maven的dependencyManagement中定义的依赖声明优先级高于传递依赖

2024-06-20 10:27:22 218

原创 Spring @AliasFor用法

如下为AOP 切面内解析注解的示例,AnnotationUtils.getAnnotation支持解析元注解,但是不支持@AliasFor,需通过。

2024-06-13 15:49:22 537 2

原创 【软考】下篇 第19章 大数据架构设计理论与实践

(1) 批处理层 (Batch Layer): 存储数据集, Batch Layer在数据集上预先计算查询函数,并构建查询所对应的 View。Batch Layer可以很好地处理离线数据,但有很多场景数据是不断实时生成且需要实时查询处理,对于这种情况, Speed Layer更为适合。(2) 加速层 (Speed Layer): Batch Layer处理的是全体数据集,而 Speed Layer处理的是最近的增量数据流。

2024-05-28 16:42:51 752

原创 【软考】下篇 第15章 面向服务架构设计理论与实践

面向服务的体系结构 (Service-Oriented Architecture,SOA), 从应用和原理的角度看,目前有两种业界公认的标准定义。从应用的角度定义,可以认为:SOA是一种应用框架,它着眼于日常的业务应用,并将它们划分为单独的业务功能和流程,即所谓的服务。SOA使用户可以构建、部署和整合这些服务,且无需依赖应用程序及其运行平台,从而提高业务流程的灵活性。这种业务灵活性可使企业加快发展速度,降低总体拥有成本,改善对及时、准确信息的访问。

2024-05-28 16:42:15 793

原创 【软考】下篇 第14章 云原生架构设计与理论实践

云原生来自于 Cloud Native 的直译,拆开来看,Cloud 就是指其应用软件是在云端而非传统的数据中心。Native代表应用软件从一开始就是基于云环境、专门为云端特性而设计,可充分利用和发挥云平台的弹性+分布式优势,最大化释放云计算生产力。DevOps可以看作是开发、技术运营和质量保障三者的交集,促进之间的沟通、协作与整合,从而提高开发周期和效率。而云原生的容器、微服务等技术正是为 DevOps提供了很好的前提条件,保证 IT 软件开发实现 DevOps 开发和持续交付的关键应用。

2024-05-28 16:41:39 1110

原创 【软考】下篇 第13章 层次式架构设计理论与实践

软件层次式体系结构是最通用的架构(可作为初始架构),也被叫作N 层架构模式 (n-tier architecture pattern)。层次式体系结构设计是将系统组成一个层次结构,每一层为上层服务,并作为下层客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层接口只对相邻的层可见。连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。

2024-05-28 16:39:21 1101

原创 【软考】下篇 第12章 信息系统架构设计理论与实践

信息系统架构是关于软件系统的结构、行为和属性的高级抽象。在描述阶段,其对象是直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件之间的通信。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织结构和拓扑结构,而且表示了系统需求和构成组件之间的对应关系,包括设计决策的基本方法和基本原理。信息系统架构仍在不断发展中,还没有形成一个统一的、公认的定义,这里仅举出几个较权威的定义。

2024-05-28 16:38:37 833

原创 【软考】系统架构师知识点

SAN(存储区域网络):通过专用交换机将磁盘阵列组成高速专用子网,将存储设备从传统的以太网中分离出来,成为独立的SAN系统结构(光纤通道 - FC SAN,IP网络 - IP SAN, 无线带宽 - IB SAN)。的集合,旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性,使业务不再有非功能性业务中断困扰的同时,具备。关于云原生的定义有众多版本,云原生架构的理解也不尽相同,根据云原生技术、产品和上云实践,从技术的角度云原生架构是基于云原生技术的一组。

2024-05-28 16:36:54 881

原创 记一次使用Notepad++正则表达式批量替换SQL语句

想把其中涉及的多个CREATE TABLE语句前添加相应的DROP TABLE语句如下,如对应。即为捕获组(使用括号包围的正则)的概念,而捕获组的内容可以通过序号进行提取,如通过。使用Notepad++打开sql脚本,按CTRL+F弹出查找对话框,点击上方的。标签,输入如下替换内容后,选择查找模式为。即被替换为相应的table名称,切中的。获取第一个捕获组的内容,如此。

2024-04-30 09:51:57 967

原创 OpenFeign、RestTemplate支持自定义服务地址列表

*** 负载均衡静态配置/*** 客户端ServiceId到静态地址列表的映射} }/*** 负载均衡静态配置/*** 客户端ServiceId到静态地址列表的映射} }/*** 负载均衡静态配置/*** 客户端ServiceId到静态地址列表的映射} }/*** 负载均衡静态配置/*** 客户端ServiceId到静态地址列表的映射} }/*** 负载均衡静态配置/**

2024-04-25 15:02:32 755

原创 REST API规范

REST+ JSON已成为Http接口的事实标准,本文给出我平时推荐的REST API规范及相关注意事项。

2024-04-23 17:01:24 1865 1

转载 【转载】架构”4+1“视图

逻辑视图开发视图过程视图物理视图,“1”指的是场景视图。场景视图又称为用例视图,显示外部参与者观察到的系统功能。逻辑视图从系统的静态结构和动态行为角度显示系统内部如何实现系统的功能。开发视图又称为实现视图,显示的是源代码以及实际执行代码的组织结构。处理视图又称为过程视图,显示程序执行时并发的状态。物理视图展示软件到硬件的映射。1995年Kruchten提出了著名的“4+1”视图,用来描述软件系统的架构。物理视图用来描述系统软硬件之间的映射关系,这个视图往往(系统工程人员)最为关注;逻辑视图。

2024-03-14 16:11:53 262

原创 DDD系列 - 第11讲 拆解业务流程

可以参照UML中活动图,在活动图中提出了泳道的概念,即在原业务流程图的X轴方向上添加了泳道的划分,不同的泳道即表示参与流程的不同角色。复杂业务需求通常伴随着复杂的业务流程(一个或多个),呈现业务流程最直接的方式就是运用业务流程图,业务流程图为动态的业务需求提供了简单清晰的可视化方案,可以帮助受众快速了解业务本身的运作方式,明确业务规则。)分割为执行业务活动的不同区域,分割出来的各个区域代表了不同角色的活动类型,也体现了不同的观察视图,在保证业务流程全貌的基础上清晰地体现了参与角色、活动类型等的不同特征。

2024-03-05 14:35:17 117

原创 一次团队内部的DDD分享

最近在团队内部搞了一次DDD分享,效果还算不错,在此特将本次分享所用的PPT分享给大家,大家共同学习,也随时欢迎大家提问和讨论。

2024-01-25 16:38:35 165 4

原创 DDD系列 - 第10讲 聚合

本文主要介绍了聚合的识别原则以及聚合间的协作方式等。

2024-01-21 15:36:23 204 4

原创 DDD系列 - 第9讲 实体、值对象

本篇作为识别聚合的前哨,介绍了实体、值对象的识别及定义等。

2024-01-21 15:31:53 675

原创 DDD系列 - 第8讲 仓库Repository - JPA篇(二)

书接上回的JPA仓库实现,在定义完商品聚合内相关的根实体Goods、值对象等,接下来我们还需要为根实体Goods定义相应的仓库Repository接口。

2023-12-31 19:58:37 1054

原创 DDD系列 - 第7讲 仓库Repository - JPA篇(一)

本篇文章继续以前一篇中的商品聚合为例,但是领域模型和仓库Repository实现均借助于Spring Data JPA。

2023-12-17 13:26:08 1054

原创 DDD系列 - 第6讲 仓库Repository - Mybatis篇

书接上回,之前通过一个关于拆解、微服务、面向对象的故事,向大家介绍了如何从微服务、面向对象一步步演进到DDD的,整个演进过程如下图:其中在领域层,我们定义了富血模型的领域模型,包括聚合、聚合根、实体、值对象等。聚合在代码层面中的表现形式即是一个包Package,起到了边界的作用,聚合内的对象间高内聚,而聚合间低耦合。聚合中放着实体、值对象、仓库等,实体相较于值对象的一个典型区别就是实体存在唯一标识,并且可通过该唯一标识查询到该实体并对其进行相关操作,值对象不存在唯一标识且通常作为实体。

2023-12-10 18:10:47 1145

原创 DDD系列 - 第5讲 从架构师的角度看待DDD - 一个关于拆解、微服务、面向对象的故事(三)

通过这个故事,我想要传达的就是不要为了DDD而DDD,尤其对于初学者不要上来就去学习DDD中的各种迷惑性的概念和术语,本文通过拆解、微服务、面向对象的视角向读者介绍了一个系统是如何一步步走向DDD的,只有建立在理解的基础上,充分理解了各种模式的使用场景及动机,才能真正发挥各种模式的优势,放下DDD也许你才能真正体会到DDD。我们做的设计最终都是要指导落地的,搞那么多迷惑性的概念和拆解除了能让PPT上多一些谈资,似乎给指导落地并不能带来任何实质性的帮助。

2023-12-02 15:09:31 1081

原创 DDD系列 - 第4讲 从架构师的角度看待DDD - 一个关于拆解、微服务、面向对象的故事(二)

用户类中的属性,如ID、用户名等,我们可以直接使用编程语言的原生类型如Long、String进行建模,但其本质也是类的定义,同理我们也可以通过自定义类的形式来定义属性,例如用户身份证号属性,原本使用String类型表示,但随着后续业务的梳理,需要通过身份证号解析出用户所在的省市区、出生日期等,出于单一职责的考虑,我们可以创建一个身份证号类,该类持有身份证号属性,并提供获取省、市、区编码、获取出生日期等方法。

2023-12-02 15:06:48 1095

原创 DDD系列 - 第3讲 从架构师的角度看待DDD - 一个关于拆解、微服务、面向对象的故事(一)

拆解微服务架构面向对象分析与设计在这个故事里没有DDD,只有软件架构、软件设计与开发的探索实践、优化与思考。

2023-12-02 15:04:59 1051

原创 OpenTelemetry系列 - 第4篇 OpenTelemetry K8S生态

部署OpenTelemetry Collector的daemonset实例,以收集节点(node)和运行在这些节点上的工作负载(workloads)相关的遥测数据(telemetry)。这个Collector实例将在容器级别上工作,不会创建新的pod,这对于保持Kubernetes集群的整洁和易于管理是完美的。此外,当您希望使用不同的收集/导出策略时,还可以使用sidecar模式,这正好适合此应用程序。部署Collector的deloyment实例,以收集与整个集群相关的遥测数据。

2023-12-02 10:43:07 1802

原创 OpenTelemetry系列 - 第3篇 OpenTelemetry Collector

是一个与供应商无关的代理,可以接收、处理和导出遥测数据。它支持接收多种格式的遥测数据(例如,OTLP、Jaeger、Prometheus,以及许多商业/专有工具)并将数据发送到一个或多个后端它还支持在导出遥测数据之前对其进行处理和过滤Receivers 接收器- 接收器可以是基于推或拉的,它是数据进入收集器的方式。接收器可以支持一个或多个数据源。Processors 处理器- 处理器在接收和导出之间的数据上运行。处理器是可选的,但有些是推荐的。Exporters 导出器。

2023-12-02 10:29:22 2578 1

原创 OpenTelemetry系列 - 第2篇 Java端接入OpenTelemetry

目录一、架构说明二、方式1 - 自动化2.1 opentelemetry-javaagent.jar(Java8+ )2.2 使用opentelemetry-javaagent.jar完成自动注入2.3 配置opentelemetry-javaagent.jar2.4 使用注解(@WithSpan, @SpanAttribute)2.5.1 代码集成@WithSpan, @SpanAttribute2.5.2 禁用已标注@WithSpan的方法的自动注入:2.5.3 不修改代码的情况下启用@WithSpan

2023-12-02 10:26:03 5053 2

pagenote.crx

pagenote - 一款chrome·网页标记插件, 在尝试了 (1)Scribe Toolbar(无法成功注册-google验证码限制), (2)Markup、LINER(免费版单网页标记数<=8个、颜色1-2种有限制), 最后发现了pagenote, (1)颜色有4种无限制, (2)单网页标记数可达50个 (3)可以无需登录离线使用

2021-12-03

kubekey-v1.2.0-linux-amd64.tar.gz

Kubesphere官方安装工具KubeKey v1.2.0版本, 个别企业环境无法访问github,可通过此链接下载

2021-11-30

Oracle VirtualBox User Manual - 6.1.28.pdf

VirtualBox 6.1.28用户手册 - 英文版

2021-11-22

headingsMap-3.10.1.zip

chrome浏览器插件

2021-11-08

android存储

本文介绍Android中的5种数据存储方式 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实 现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据  

2013-05-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除