摘要:
sonarqube和扫描器sonar-scanner是可以不在同一主机的;结合sonarqube和扫描器sonar-scanner的工作逻辑,扫描器只需要配置连接sonarqube的相关地址以及对应项目的相关属性,然后扫描器就可以正常工作了;我们可以理解为一个sonarqube平台对应多台server上的sonar-scanner;只要sonar-scanner能够正常的连接到sonarqube,就能把本地server上的项目代码扫描结果写到sonarqube指定的数据库中,通过sonarqube的web平台给予展示; 阅读全文
sonarqube和扫描器sonar-scanner是可以不在同一主机的;结合sonarqube和扫描器sonar-scanner的工作逻辑,扫描器只需要配置连接sonarqube的相关地址以及对应项目的相关属性,然后扫描器就可以正常工作了;我们可以理解为一个sonarqube平台对应多台server上的sonar-scanner;只要sonar-scanner能够正常的连接到sonarqube,就能把本地server上的项目代码扫描结果写到sonarqube指定的数据库中,通过sonarqube的web平台给予展示; 阅读全文
posted @ 2020-10-17 18:02
Linux-1874
阅读(1962)
评论(0)
推荐(0)

sonarqube是一款用java语言编写的程序,它主要作用是提供一个web界面,展示扫描分析结果以及系统管理,插件管理等;扫描代码还是sonar-scanner这个插件做的,它的工作原理是sonar-scanner通过识别项目中的sonar-project.properties配置文件中定义的内容,把对应的项目源码进行扫描,把扫描后的结果保存到指定的数据库;然后sonarqube通过连接配置的数据库,把sonar-scanner存入数据库中的数据加载到web界面,从而用户就可以通过web界面查看扫描的项目源码的结果;
GitLab 是一个用于仓库管理系统的开源项目,使用git作为代码管理工具,并在此基础上搭建起来的web服务。类似github,常用在企业内部做git私有仓库使用;
我们知道对于git的仓库来讲,不外乎就是一个文件服务器,也就说git仓库可以使用传输文件的协议来把用户本地仓库中的代码推送到远程仓库进行保存,同时用户也可以从远处仓库拖代码到本地仓库;这是git仓库的最基本功能;常用的传输文件的协议有http、https、ftp、ssh等等,当然也有git本身的协议git来传输文件;好了下面我们来看一下基于httpd来搭建git的私有仓库对过程吧;
之前的博客一直在聊ELK集群中的存储、日志收集相关的组件的配置,但通常我们给用户使用不应该是一个黑黑的shell界面,通过接口去查询搜索;今天我们来聊ELK中的前端可视化组件kibana;kibana主要作用是用来展示、搜索、查看、分析、整合elasticsearch中存储的日志的一个web用户界面;使得让用户使用ELK更加直观;
客户端访问hdfs上的某一文件,首先要向namenode请求文件的元数据信息,然后nn就会告诉客户端,访问的文件在datanode上的位置,然后客户端再依次向datanode请求对应的数据,最后拼接成一个完整的文件;这里需要注意一个概念,datanode存放文件数据是按照文件大小和块大小来切分存放的,什么意思呢?比如一个文件100M大小,假设dn(datanode)上的块大小为10M一块,那么它存放在dn上是把100M切分为10M一块,共10块,然后把这10块数据分别存放在不同的dn上;同时这些块分别存放在不同的dn上,还会分别在不同的dn上存在副本,这样一来使得一个文件的数据块被多个dn分散冗余的存放;
对于fastdfs来讲,后端的storage是以组为单位进行调度的,一个group中有多个storageserver组成,每个storageserver间互相同步文件,使得在同一组中storageserver上的文件相同,从而实现了文件的冗余;和mogilefs不同的是fastdfs的冗余是基于storage节点来做的,而mogilefs是基于device来做的;下载文件的过程和上传过程类似,首先client会想把下载请求发送给tracker,然后由tracker返回storage的ip:port,然后客户端再向storage server发送文件下载请求,storage收到客户端发送到文件下载请求后,在本地节点查找对应的文件,然后发送给客户端;
我们知道mogilefs的tracker和客户端通信使用的http协议,客户端和storage通信也是使用http协议;客户端向tracker发送请求获取文件的内容,tracker收到请求后,去数据库中查,把查到的结果返回给客户端,然后客户端再通过tracker返回的结果去请求对应的存储节点,通过这样一个过程客户端就拿到对应文件的内容;从上面描述的过程来看,要想使用mogilefs得有一款智能的客户端,它必须满足能够理解到tracker返回的内容,然后再向存储节点请求对应的文件;其次这个客户端还能通过http协议同tracker和storage交互,也就说我们需要一款能够理解tracker返回的内容的http协议的反代服务器;
对于高可用nginx或haproxy这类在用户空间有监听端口和进程的服务来说,如果用keepalived做高可用,我们需要考虑到我们高可用的服务是否正常可用,从而实现在服务不正常的情况下,把对应的VIP能够迁移到其他节点;为了实现能够检测到高可用的服务是否正常,keepalived提供了调用外部脚本的接口,让我们配置对高可用的服务做可用性检测;根据我们定义的脚本,keepalived会周期性的去执行我们的定义的脚本,根据脚本执行退出码判断服务是否可用,一旦发生服务不可用,或者可用性检测不通过,它就会触发当前keepalived节点的优先级降低,从而实现当前节点在通告优先级时,触发备份节点接管VIP,从而实现VIP转移,服务的高可用;
浙公网安备 33010602011771号