序言
RustDesk 是一款远程桌面软件,开箱即用,无需任何配置。
当我们需要将内网服务器暴露到公网上时,一种简单有效的方法是使用内网穿透工具。
使用内网穿透工具时,大多需要我们在公网上拥有一台自己的服务器,因为我们需要在云厂商服务器的管理界面分配一个唯一的域名或 IP 地址,并通过对安装的内网穿透工具进行配置,以把公网和内网绑定起来,最终实现将来自互联网的请求通过自己的服务器转发到内网服务器的目的。
目前市面上的内网穿透工具五花八门,其中比较流行的是 Frp(Fast Reverse Proxy)。
Frp 是一款开源的反向代理软件,它可以帮助你快速搭建内网穿透服务,支持多种协议和加密方式,并且非常易于部署和使用。
在本文中,我们将介绍如何使用 Frp 来实现内网穿透,并通过具体的案例来演示其使用方法。我们将从安装和配置开始,了解 Frp 的核心概念和组件,以及如何使用 Frp 快速搭建内网穿透服务。
当微服务调用链路中的某个服务出现故障,最终将可能引起整个链路中的所有微服务都不可用,这便是雪崩问题。
解决雪崩问题,通常存在以下四种方案:
前面三种是为了避免出错业务扩散造成雪崩效应,而最后一种是为了预防出现雪崩问题。
本文要谈的 Sentinel 使用后面三种方式来处理雪崩问题。
在互联网行业中,当新产品的一个个需求确立下来,开发同学不仅仅需要进行代码开发,在每个功能完善的同时,都需要重新发布测试环境,换而言之,开发同学还肩负着持续的部署工作。
为什么需要频繁部署?
因为产品时由多个功能点组合而成,所以一般会拆分为各个功能点划分给不同的开发同学协同合作推进产品成型,每一个功能点完成后,都需要发布到测试环境交由测试同学进行验证,若出现 Bug,则告知开发同学进行修复,因此,在一个功能点完成后,一个 Bug 修复后,都需要发布到测试环境。
开发同学是如何进行部署工作的呢?
开发同学一般是在功能点完成或 Bug 修复后,进行一系列以下操作:
这一系列人工操作,是重复且会花费开发同学一定时间的。
那么,以上操作能否自动化?降低开发同学的部署时间,提升团队的工作效率呢?
当然可以,这个时候就需要使用 CI/CD 工具了,并且它的作用远不止于此。
在互联网行业中,成熟的公司都会有专门的技术团队开发出各式各样的产品供用户使用。对于公司内部的不同产品而言,并不是每一个产品都需要重零构建,大多数情况下都是在旧产品基础上组合拼凑,衍生出新产品。
如果说 B、C 产品都是在 A 产品基础上开发的新产品,那么意味着什么呢?
对程序员而言,这代表着继承,也可以说是代码复用。
那么,就有个问题了,如何去让 B、C 产品的代码继承 A 产品代码呢?
A 产品代码打个包嘛,每个 Java 程序员都会使用 Maven,引入下不就好了?
话是这么说,但是有个问题,A 产品的包放在哪里?不可能放中央仓库吧?这可是公司内部的产品呀!
嘿嘿,这个时候,就需要专门搭建一个存放公司产品包的仓库,去管理这些内部产品包了。(这种内部产品包被称为二方包,公司搭建的仓库被成为二方库)。
一般而言,公司内部的二方库早就有开发搭建好了,用不着新人动手,但由于罗马并不是一天就能建成的,有的公司技术部门可能刚刚创立,会存在没搭建过私服的情况,这个时候就需要我们手动动手了。
那么,下面跟随本文来搭建一个 Maven 私服吧!