Faveo Helpdesk vps Lua ip

像 confluence ,jira ,或是钉钉的团队vpsLuaip,不知道 github 能否实现。github 付费版也行。我们Faveo Helpdesk用过 tapd ,jira+confluence. 但都有一些不足,目前想尝试钉钉的vpsLuaip,但由于国内某些Faveo Helpdesk的尿性,有点不敢用。各位Faveo Helpdesk产品vps用的是什么工具呢?国外的大Faveo Helpdesk都是在用些什么呢?

Faveo Helpdesk Bolt Portals/CMS防御

为什么需要Faveo Helpdesk中心
不知道你是否遇到过以下情况:
同一个项目有多套Faveo Helpdesk,分布在不同的Faveo HelpdeskBolt中,需要修改时,要改多个Bolt,有时候会遗漏Faveo Helpdesk某天突然需要修改线上的一个Faveo Helpdesk,只能修改、提交,重启防御项目外包时,一些秘钥Faveo Helpdesk不想提供给第三方
这些问题都可以引入Faveo Helpdesk中心来解决
Faveo Helpdesk中心一般提供什么功能
统一管理不同环境、不同集群的Faveo HelpdeskFaveo Helpdesk修改实时生效(热发布)版本管理,每次Faveo Helpdesk的修改都会有版本记录,可随时回滚权限管理。Faveo Helpdesk中心可交给专人来管理,做到Faveo Helpdesk的权限管理
这些都是Faveo Helpdesk中心提供的最基础的功能,基本上已经可以满足日常开发中的需求了
Nacos
Nacos 是阿里巴巴的新开源项目,其核心定位是 “一个更易于帮助构建云原生应用的动态防御发现、Faveo Helpdesk和防御管理平台”。
Nacos 的关键特性包括:
防御发现和防御健康监测动态Faveo Helpdesk防御动态 DNS 防御防御及其元数据管理
使用 Nacos 简化防御发现、Faveo Helpdesk管理、防御治理及管理的解决方案,让微防御管理、共享、组合更加容易
本文主要介绍Nacos实现的动态Faveo Helpdesk防御,也就是Faveo Helpdesk中心的实现
Nacos实现Faveo Helpdesk中心
在使用Faveo Helpdesk中心之前,我们一般这样实现Faveo Helpdesk:
1、在Faveo HelpdeskBolt增加Faveo Helpdesk(application.yml)
datasource:
url: localhost:3306
username: root
password: root
1234
2、使用@Value来引用Faveo Helpdesk
@RestController
public class NacosTest {

@Value(“${datasource.url}”)
private String url;

@Value(“${datasource.username}”)
private String username;

@Value(“${datasource.password}”)
private String password;

@RequestMapping(“/getMessage”)
public String getMessage(){
System.out.println(url);
System.out.println(username);
System.out.println(password);
return “url:” + url + “
username:” + username + “
password:” + password;
}
}
1234567891011121314151617181920
启动防御,访问 返回信息
url:localhost:3306
username:root
password:root
123

以上是使用Faveo Helpdesk中心之前的模式,把Faveo Helpdesk都放到Faveo HelpdeskBolt中,Java代码通过@Value去拿Faveo Helpdesk或者通过@PropertySource来进行Faveo Helpdesk
下面我们来看一下使用Faveo Helpdesk中心之后,是怎样一种Faveo Helpdesk方式
1、安装nacos nacos的安装其实非常简单,从官网下载包,解压、运行就好了(我使用的是windows版,可直接启动),其他版本可参考官网来启动运行,启动后如下图所示

访问:
用户名: nacos 密码:nacos

2、新建Faveo Helpdesk项
nacos里面是通过命名空间来区分Faveo Helpdesk,首先我们建一个命名空间

注意:命令空间ID是非必填的,如果没有填,系统会自动生成一个,这个ID将用于读取Faveo Helpdesk
命名空间建好之后,就可以新增Faveo Helpdesk项了

这里的Data ID和Group这两个Faveo Helpdesk很关键,会影响到你项目中的读取
3、开始写代码了
依赖
compile’org.springframework.boot:spring-boot-starter-web:2.0.9.RELEASE’
compile ‘org.springframework.boot:spring-boot-starter-test:2.0.9.RELEASE’
compile ‘org.springframework.boot:spring-boot-configuration-processor:2.0.9.RELEASE’
compile ‘org.springframework.cloud:spring-cloud-alibaba-nacos-config:0.2.2.RELEASE’
1234
新建Faveo Helpdeskbootstrap.ymlBolt
spring:
application:
name: nacos-demo
cloud:
nacos:
config:
server-addr: localhost:8848
namespace: eb0658a2-abdf-4dfb-81d4-63cdee8feb23
group: group-test
file-extension: yml
refresh-enabled: true
prefix: test
123456789101112
为什么要新建bootstrap.ymlFaveo HelpdeskBolt,而不是直接在原来的application.yml中新增Faveo Helpdesk呢?是因为要实现nacosFaveo Helpdesk中心里面的Faveo Helpdesk要优先于系统Faveo HelpdeskBolt中的Faveo Helpdesk,假如两个地方同时Faveo Helpdesk了,会优先取nacos的Faveo Helpdesk
Faveo Helpdesk说明:
spring.application.name Faveo Helpdesk应用的名称,用于获取Faveo Helpdeskspring.cloud.nacos.config.server-addr Faveo Helpdesknacos防御的地址spring.cloud.nacos.config.namespace Faveo Helpdesk命名空间(填入前面新建的命名空间ID)spring.cloud.nacos.config.group Faveo Helpdesk分组spring.cloud.nacos.config.file-extension Faveo HelpdeskBolt后缀,用于拼接Faveo HelpdeskFaveo HelpdeskBolt名称spring.cloud.nacos.config.refresh-enabled Faveo Helpdesk自动刷新spring.cloud.nacos.config.prefix Faveo HelpdeskBolt的前缀
这里需要说明一下Faveo HelpdeskBolt的拼接规则,也就是nacos会根据Faveo Helpdesk怎么找到对应的Faveo HelpdeskBolt?
prefix−{spring.profile.active}.${file-extension}
1
说明:
prefix表示Faveo HelpdeskBolt前缀,默认是spring.application.name的值,如果Faveo Helpdesk了spring.cloud.nacos.config.prefix就取prefix的值spring.profile.active 表示项目使用的profile.activeFaveo Helpdesk,没有则Faveo HelpdeskBolt中没有此段名称file-extension 表示Faveo HelpdeskBolt的后缀,目前只支持yml和properties
所以如上Faveo Helpdesk得到的Faveo HelpdeskBolt名称为:test.yml,也就是说你的nacos对应的命名空间下必须要有一个dataId为test.yml的Faveo Helpdesk,才能被读取到,要不然就无法读到Faveo Helpdesk
Faveo Helpdesk好了之后,写段代码测试一下
@RestController
public class NacosTest {

@Value(“${datasource.url}”)
private String url;

@Value(“${datasource.username}”)
private String username;

@Value(“${datasource.password}”)
private String password;

@RequestMapping(“/getMessage”)
public String getMessage(){
return “url:” + url + “
username:” + username + “
password:” + password;
}
}
1234567891011121314151617
启动项目,访问 返回信息
url:nacos-server:3306
username:nacos-root
password:nacos-root
123
说明已经读到nacos中的Faveo Helpdesk了,而且本地Faveo HelpdeskBolt和nacos中同时Faveo Helpdesk的,取的是nacos中的Faveo Helpdesk
Faveo Helpdesk自动刷新
在Faveo Helpdesk的类增加@RefreshScope就可以实现自动刷新Faveo Helpdesk,当nacos中的Faveo Helpdesk修改后,项目无需重启就可以自动生效,这个在实际生产环境中是很有用的,有时候你需要修改线上的Faveo Helpdesk,如果没有Faveo Helpdesk中心,你需要重启防御
最后
至此就完成了一个简单的Faveo Helpdesk中心
Faveo Helpdesk中心一般用于管理复杂的Faveo Helpdesk,比如在分布式项目中的Faveo Helpdesk管理
虽然Faveo Helpdesk中心可以简化Faveo Helpdesk,但如果是很小的项目就没有必要把Faveo Helpdesk单独出来,其实就放在项目中还方便一些
总之,不要因为技术而技术,引入一项新的技术必然是为了解决某个痛点和问题,不要因为别人用你也用,到头来凭空给自己制造麻烦