自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

心飞为你飞

为成长积蓄力量,一个热爱Java的崇阳人,JavaQQ群:661543188

  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 神领物流-day08-智能调度之运输任务

通过前面的学习,已经可以将相同转运节点的运单合并,合并之后就需要进行调度计算,按照车辆的运力生成运输任务,以及司机的作业单,这样的话就可以进入到司机与车辆的运输环节了。在这里一定要注意,注册的这个ip地址与101机器是否能通信,就上面的情况,显然是不能通信的,所以需要需要在配置文件中指定注册的ip地址。另外,生成运输任务的消息已经发出了,只是我们还没有监听处理消息,在后面我们将实现对该消息的处理,就可以生成运输任务了。需要注意的是,一个运输任务中包含了多个运单,就是一辆车拉了一车的快件,是一对多的关系。

2025-05-21 08:53:39 1086

原创 神领物流-day09-智能调度之作业范围

课程安排MongoDB快速入门Spring Data MongoDB入门分析作业范围功能需求实现机构与快递员的作业范围1、背景说明通过前面的学习,智能调度系统已经可以生成了车辆运输任务以及司机作业单,接下来要做的事情就是要生成快递员的取派件任务,想一下,用户下单寄件的订单,哪个快递员为其服务呢?所以我们必须通过用户的寄件地址找到对应服务范围的快递员,为快递员分配取件任务,快递员上门取件,同样,派件是类似的到道理。所以,需要设定每个快递员或机构的作业范围,而范围是一组经纬度数据,如果存储到m

2025-05-20 16:57:15 411

原创 神领物流-day10-智能调度之取派件调度

*** 新增取派件任务* @param taskPickupDispatch 取派件任务信息* @return 取派件任务信息此方法的实现,调用自定义Mapper中的SQL实现。

2025-05-20 16:57:08 579

原创 神领物流-day13_14 项目分组实战

通过前面课程的学习,我们已经掌握了神领物流项目相关业务的开发,也参与了核心调度中心的开发,对于项目有了更深的理解,在此阶段中,我们将基于神领物流项目本身的基础之上扩展新的功能,这些新的功能将由你来完成。加油~

2025-05-20 16:57:03 590

原创 神领物流-day12-分布式日志与链路追踪

GrayLog是一个轻量型的分布式日志管理平台,一个开源的日志聚合、分析、审计、展示和预警工具。在功能上来说,和 ELK类似,但又比 ELK要简单轻量许多。依靠着更加简洁,高效,部署使用简单的优势很快受到许多公司的青睐。其基本框架如图:微服务中的GrayLog客户端发送日志到GrayLog服务端GrayLog把日志信息格式化,存储到Elasticsearch客户端通过浏览器访问GrayLog,GrayLog访问Elasticsearch。

2025-05-20 16:56:58 651 1

原创 神领物流-day11-物流信息微服务

由上图可以看出,在用户的一次请求中,可以设置多个缓存以提升查询的性能,能够快速响应。浏览器的本地缓存使用Nginx作为反向代理的架构时,可以启用Nginx的本地缓存,对于代理数据进行缓存如果Nginx的本地缓存未命中,可以在Nginx中编写Lua脚本从Redis中命中数据如果Redis依然没有命中的话,请求就会进入到Tomcat,也就是执行我们写的程序,在程序中可以设置进程级的缓存,如果命中直接返回即可。如果进程级的缓存依然没有命中的话,请求才会进入到持久层查询数据。

2025-05-20 16:56:51 457 1

原创 神领物流-day07-智能调度之调度任务

通过前面的学习,已经掌握了路线规划的核心实现,有了路线规划之后就可以对运单进行调度了,这将是物流项目最为核心的内容,一个好的调度系统可以高效的管理着运单、运输任务、司机作业单、快递员取派件任务等,接下来你将参与智能调度的开发中,其中一部分业务功能已经实现,但核心的业务逻辑是需要你来实现的。对于运单号的生成有特殊的要求,格式:SL+13位数字,例如:SL1000000000760,对于这个需求,如果采用MP提供的雪花id生成是19位,是不能满足需求的,所以我们需要自己生成id,并且要确保唯一不能重复。

2025-05-20 16:56:46 795 1

原创 神领物流-day06-路线规划之微服务

***//*** 无需指定type,根据id查询* @param bid 机构id* @return 机构信息*//*** 无需指定type,根据ids查询* @param bids 机构ids* @return 机构信息*//*** 查询所有的机构,如果name不为空的按照name模糊查询* @param name 机构名称* @return 机构列表*//*** 查询机构树* @return 机构树*/

2025-05-20 16:56:40 475 1

原创 神领物流-day05-路线规划之Neo4j入门

Neo4j是用Java实现的开源NoSQL图数据库。从2003年开始开发,2007年正式发布第一版,其源码托管于GitHtb。Neo4j作为图数据库中的代表产品,已经在众多的行业项目中进行了应用,如:网络管理、软件分析、组织和项目管理、社交项目等方面。官网:Neo4j实现了专业数据库级别的图数据模型的存储,提供了完整的数据库特性,包括ACID事务的支持、集群的支持、备份和故障转移等。

2025-05-20 16:56:35 1146 1

原创 神领物流-day04-运费微服务

现在出现了新的情况,开发二组一名负责运费微服务的同事小张离职了,开发二组目前人手不足,需要借调去接手这个任务,你需要知道的是,运费计算微服务是核心的微服务,不能出现计算错误,毕竟是钱挂钩的。需求:计算运费的第一步就是根据参数查询运费模板,而这个动作会访问数据库,并且是比较频繁的,然而运费模板的变更并不频繁,需要可以将运费模板缓存起来,以提高效率。运费的计算是分不同地区的,比如:同城、省内、跨省,计算规则是不一样的,所以针对不同的类型需要设置不同的运费规则,这其实就是所谓的模板。

2025-05-20 16:56:29 1328 1

原创 神领物流-day03-支付微服务

在神领物流项目中,我们统一做了自定义异常的处理。用于微服务之前接口调用抛出的异常用于前后端交互时抛出的异常SLException的定义:SLWebException的定义:这两个异常的区别在于code、status的值不同。:::danger疑问:为什么不使用一个,而是要设置两个?这个主要是前端和后端的设计不同,一般在微服务间接口调用时会采用标准的RESTful方式,按照RESTful的规范响应的状态码要使用标准的http状态码,成功->200,失败->500,没有权限->401等。

2025-05-20 16:56:24 5328 1

原创 神领物流-day02-网关与支付

实现分布式锁,可以借助redis的SETNX命令完成,该命令设置值时,如果key不存在,为key设置指定的值,返回1,如果存在返回0,也就意味着相同的key只能设置成功一次,假设有多个线程同时设置值,只能有一个设置成功,这样就得到互斥的效果,也就可以达到锁的效果。其实是有问题的,主要是token有效期设置长短的问题,如果设置的比较短,用户会频繁的登录,如果设置的比较长,会不太安全,因为token一旦被黑客截取的话,就可以通过此token与服务端进行交互了。

2025-05-20 16:56:18 1246

原创 神领物流-day01-项目概述

公司从2019年开始业务快速扩张,网点数量从138家扩展至540家,车辆从170台增长到800台。同时,原有的系统非常简单,比如车辆的调度靠人工操作、所有的货物分拣依靠人员,核心订单数据手动录入,人效非常低。随着业务不断演进,技术的不断提升,原有运输管理系统已无法满足现有快速扩展下的业务需求,但针对现有系统评估后发现,系统升级成本远高于重新研发。因此,公司决定基于现有业务体系进行重新构建,打造一套新的TMS运输系统,直接更替原有系统。

2025-05-20 16:56:11 1637

原创 2、firewalld防火墙

iptables是自2.4内核以来,linux自带的防火墙软件。但在centos7里,又出现了一个叫firewalld的防火墙软件,它和iptables一样都是通过内核的netfilter来实现的。也就是说iptables和firewalld都是用于维护规则,只不过使用方式有所不同。在centos7里iptables,firewalld都可以使用,但不要用混乱了

2025-05-20 16:55:51 779 1

原创 1、iptables防火墙

防火墙作为一种访问控制设备, 常常安装在内部网络和外部网络的边际上。主要用于保护内部网络的信息安全。

2025-05-20 16:55:46 937

原创 阿里云ECS-安装docker

step 1: 安装必要的一些系统工具。Step 4: 更新Docker-CE。Step 5: 安装Docker-CE。Step 6: 启动Docker服务。Step 2: 添加软件源信息。Step 3:设置yum源。

2025-05-20 16:55:27 351 1

原创 扩展根分区

请确保在运行此脚本之前已经做好了充分的数据备份工作,以防意外发生。如果还有其他问题或需要进一步的帮助,请告诉我!以下是更新后的脚本,它将完成这些步骤,并确保有足够的空间进行扩展。分区并释放空间之前,无法直接扩展根分区。

2025-04-30 10:30:03 410

原创 ovpn_initpki 命令的逐步骤详解

以下是 ovpn_initpki。初始化完成后,挂载目录。

2025-04-29 09:56:48 820

原创 VSCode代码规范配置指南(2025增强版)

通过以上配置,团队成员可以在VSCode中统一代码风格、提升开发效率,并通过自动化工具减少人为错误。可根据项目需求调整具体规则和插件组合。

2025-04-24 14:57:03 1174

原创 `netstat` 和 `ss` 命令的详细对比及使用指南

【代码】`netstat` 和 `ss` 命令的详细对比及使用指南。

2025-04-22 15:31:15 325

原创 Linux 中防火墙 firewalld 的日常使用大全

一、基础概念与核心功能。二、日常操作命令大全。三、高频场景解决方案。

2025-04-22 11:21:38 340

原创 Linux常用命令

help [命令名]

2025-03-28 09:00:13 270

原创 最新centos7改成国内yum源配置

CentOS 7更换国内yum源的完整配置方法,结合国内主流镜像源提供两种常用方案:

2025-03-20 14:02:26 1255

原创 Linux云计算运维开发

Linux是一种类Unix的开源操作系统内核,最初由Linus Torvalds于1991年创建。Linux操作系统以其稳定性、安全性、灵活性和开源特性而著称,广泛应用于服务器、嵌入式系统、超级计算机和云计算等领域。云计算是一种通过互联网提供计算资源(如服务器、存储、数据库、网络等)和服务的技术。它允许用户按需访问和使用这些资源,而无需购买和维护物理硬件。Linux云计算运维开发是一项综合性很强的技术领域,涵盖了系统管理、网络配置、自动化运维、容器化、虚拟化、监控与日志管理等多个方面。

2024-11-16 18:48:58 1189

原创 什么是网络安全

网络安全是指保护计算机网络、系统、数据和用户免受未经授权的访问、攻击、损坏或泄露的技术和实践。它涉及多个层面,包括物理安全、网络安全、系统安全、应用安全和数据安全。

2024-11-16 18:38:56 620

原创 探讨AI大模型如何在电商行业中发挥作用,并推动行业的变革和发展

这个标题概括了文章的核心主题,即探讨AI大模型如何在电商行业中发挥作用,并推动行业的变革和发展。

2024-11-16 18:24:07 1224

原创 Azure云平台技术介绍

Azure云平台技术介绍

2024-11-16 18:12:02 1184

原创 Docker加速配置全面指南

Docker加速配置全面指南

2024-08-28 09:23:01 5563 1

原创 10、设计模式

需求:设计一个咖啡店点餐系统。设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店类(CoffeeStore),咖啡店具有点咖啡的功能。具体类的设计如下:1.类图中的符号+:表示public-:表示private#:表示protected2.泛化关系(继承)用带空心三角箭头的实线来表示3.依赖关系使用带箭头的虚线来表示//添加配料。

2024-03-14 20:00:09 463

原创 9、JVM相关面试题

难易程度:☆☆☆出现频率:☆☆☆☆程序计数器:线程私有的,内部保存的字节码的行号。用于记录正在执行的字节码指令的地址。javap -verbose xx.class 打印堆栈大小,局部变量的数量和方法的参数。​ java虚拟机对于多线程是通过线程轮流切换并且分配线程执行时间。在任何的一个时间点上,一个处理器只会处理执行一个线程,如果当前被执行的这个线程它所分配的执行时间用完了【挂起】。处理器会切换到另外的一个线程上来进行执行。

2024-03-14 19:59:37 413

原创 8、多线程相关面试题

CAS的全称是: Compare And Swap(比较再交换),它体现的一种乐观锁的思想,在无锁情况下保证线程操作共享数据的原子性。在JUC( java.util.concurrent )包下实现的很多类都用到了CAS操作AbstractQueuedSynchronizer(AQS框架)AtomicXXX类例子:我们还是基于刚才学习过的JMM内存模型进行说明线程1与线程2都从主内存中获取变量int a = 100,同时放到各个线程的工作内存中。

2024-03-14 19:58:32 463

原创 7、Java集合相关面试题

数组(Array)是一种用连续的内存空间存储相同数据类型数据的线性数据结构。我们定义了这么一个数组之后,在内存的表示是这样的:现在假如,我们通过arrar[1],想要获得下标为1这个元素,但是现在栈内存中指向的堆内存数组的首地址,它是如何获取下标为1这个数据的?二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只有左子节点,有的节点只有右子节点。二叉树每个节点的左子树和右子树也分别满足二叉树的定义。

2024-03-14 19:57:51 429

原创 6、消息中间件面试题

如果有这样的需求的话,我们是可以解决的,把消息都存储同一个分区下就行了,有两种方式都可以进行设置,第一个是发送消息时指定分区号,第二个是发送消息时按照相同的业务设置相同的key,因为默认情况下分区也是通过key的hashcode值来选择分区的,hash值如果一样的话,分区肯定也是一样的。如果已经存在这个数据了,就说明消息重复消费了,我们就不需要再消费了。嗯,这个我们还真遇到过,是这样的,我们当时消费者是设置了自动确认机制,当服务还没来得及给MQ确认的时候,服务宕机了,导致服务重启之后,又消费了一次消息。

2024-03-14 19:51:43 429

原创 5、微服务面试题

我当时做的xx项目,采用就是微服务的架构,因为xx因为,应该会有突发流量,最大QPS可以达到2000,但是服务支撑不住,我们项目都通过压测最多可以支撑1200QPS。我们当时采用的nginx限流操作,nginx使用的漏桶算法来实现过滤,让请求以固定的速率处理请求,可以应对突发流量,我们控制的速率是按照ip进行限流,限制的流量是每秒20。服务雪崩是指一个服务失败,导致整条链路的服务都失败的情形,一般我们在项目解决的话就是两种方案,第一个是服务降级,第二个是服务熔断,如果流量太大的话,可以考虑限流。

2024-03-14 19:50:36 411

原创 3、框架篇面试题

第四,B需要注入A,通过三级缓存中获取ObjectFactory来生成一个A的对象同时存入二级缓存,这个是有两种情况,一个是可能是A的普通对象,另外一个是A的代理对象,都可以让ObjectFactory来生产对应的对象,这也是三级缓存的关键。主要思路是这样的,使用aop中的环绕通知+切点表达式,这个表达式就是要找到要记录日志的方法,然后通过环绕通知的参数获取请求方法的参数,比如类信息、方法信息、注解、请求方式等,获取到这些参数以后,保存到数据库。最浅显的解决办法就是将多态bean的作用由“

2024-03-14 19:48:56 448

原创 2、MySQL面试题

所以,我们一般使用的都是mysql默认的隔离级别:可重复读。**候选人:**如果一条sql执行很慢的话,我们通常会使用mysql自动的执行计划explain来去查看这条sql的执行情况,比如在这里面可以通过key和key_len检查是否命中了索引,如果本身已经添加了索引,也可以判断索引是否有失效的情况,第二个,可以通过type字段查看sql是否有进一步的优化空间,是否存在全索引扫描或全盘扫描,第三个可以通过extra建议来判断,是否出现了回表的情况,如果出现了,可以尝试添加索引或修改返回字段来修复。

2024-03-14 19:48:21 443

原创 1、Redis面试题

这个是不能的,比如,当线程1加锁成功后,master节点数据会异步复制到slave节点,此时当前持有Redis锁的master节点宕机,slave节点被提升为新的master节点,假如现在来了一个线程2,再次加锁,会在新的master节点上加锁成功,这个时候就会出现两个节点同时持有一把锁的问题。我们当时采用的阿里的canal组件实现数据同步:不需要更改业务代码,部署一个canal服务。:嗯,是这样的,单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,可以搭建主从集群,实现读写分离。

2024-03-14 19:20:11 374

原创 6、集群装机

PXE (Pre-boot Execution Environment) 是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

2024-03-13 21:30:54 977

原创 5、安全防御

*拒绝服务(DOS):**通过大量访问请求使服务器资源耗尽,无法向正常用户处理请求连接。常见解决手段使用云服务商的流量清洗功能**口令破解:**常用攻击手法俗称“跑字典”,常用解决方案设置登录错误次数限制**已知漏洞:**通过已知漏洞进行数据获取或提权,常见解决手段定时更新防御性补丁**欺骗权限用户:**又称社会工程学,通过欺骗权限用户得到授权资格的方式规则链:承载防火墙规则**1)入站:**INPUT**2)出站:**OUTPUT**3)转发:**FORWARD。

2024-03-13 21:27:23 959

原创 4、集群监控

宕机损失案例:美国呼叫中心 24000 美金/小时阿里/百度:2、常见监控平台zabbix 是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 ( 基于 GPL V2 )zabbix由 2 部分构成,zabbix server与可选组件zabbix agent1)源码编译安装 Nginx 服务器并开启状态统计模块2)Zabbix 客户端配置-1、编写 Nginx 监控脚本,在被监控端/bin/bashPORT=“80”# 检测nginx进程是否存在。

2024-03-13 21:17:56 1116

SaaS Export进出口贸易管理系统.sql

SaaS模式的进出口贸易管理系统是一种基于云计算技术的应用服务,它允许企业通过网络访问和使用一套完整的进出口业务管理软件,而无需在本地安装和维护该软件。这类系统通常具备以下功能: 1. **客户管理** 2. **供应商管理** 3. **产品管理** 4. **订单管理** 5. **单证管理** 6. **采购管理** 7. **物流管理** 8. **仓库管理** 9. **财务管理** 10. **合规与风控** 11. **自动化工作流** SaaS Export进出口贸易管理系统的优势在于其灵活性、可扩展性和低运维成本。用户可以根据自身需求订阅相应服务,并随着业务增长轻松调整服务规模。同时,由于所有数据存储在云端,企业可以在任何有互联网连接的地方进行操作,增强了团队协作效率和业务连续性。市场上有多款此类产品,例如胜途跨境电商ERP、米境通跨境电商ERP、因尚科技-进出口贸易管理系统以及其他专注于外贸出口领域的SaaS解决方案。

2021-08-31

redis-6.2.6+resp-2022.2

Redis的Linux安装通常涉及从其官方网站下载最新稳定版源代码包,然后在Linux系统上编译和安装。截至2024年3月14日,我无法直接提供resp-2022.2这个特定版本的Redis,因为Redis官方发布版本格式通常是`redis-x.y.z.tar.gz`,其中x、y、z代表主版本号、次版本号和修订版本号。 如果您想安装Redis的某个特定历史版本(如假设的"resp-2022.2"),您可以按照以下步骤操作: 1. 访问Redis官网的归档页面:https://download.redis.io/releases/ 2. 在该页面查找与您提到的版本相对应的文件名,如果“resp-2022.2”是实际存在的版本号,那么它应该列在发行版本列表中。 3. 使用wget或curl等工具下载指定版本的源代码包到Linux服务器: ```bash wget https://download.redis.io/releases/redis-resp-2022.2.tar.gz # 假设这样的URL存在 ```

2024-03-14

空空如也

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

TA关注的人

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