Skip to content

20190911qhxb微服务部署总结

ziyouzy edited this page Sep 11, 2019 · 1 revision

使用了ubuntu18服务器版本,比较稳定

安装了官方提供的mysql数据库镜像和redis数据库镜像,分别暴露端口,宿主机的软件可以正常访问

protainer比较好用,可以作为ubuntu的可视化界面,管理容器,protainer也是容器化应用,安装方式:

用golang制作了数据采集服务,只采集,不计算,不加工,不推送

golang数据采集服务目前在宿主机上运行,今后如有必要可尝试将其容器化

golang数据采集会且只会对采集目标的范围进行初始化(也就是将要采集那些股票,商品,指数),其会以目标文件夹内所有包含的文件名进行汇总,生成ini文件作为目录,ini文件为之后的程序调用,初始化过程不会对mysql数据库进行任何的crud操作

go mod很好用,类似于git,可以将一个文件夹go mod化(go mod init)

%%%%%%

%%%%%%

docker的部署没用使用apt-get的方式,而是采用了去官网安装的方式:

对于docker虚拟网络的特点补习知识后有了更深刻的了解:当制作好一个镜像并运行后,docker会默认部署好虚拟网络环境,宿主机和容器间的通信较为容易,一半配置好暴露端口即可,而容器间通信尚待更仔细的研究,目前了解到可以用linking,但是好像是一种单向通道,有没有更好的方式需要更深入了解学习

%%%%%%

%%%%%%

对于腾讯云,遇到了如下几个坑:

1.安全组,其实安全组也没有过于麻烦,配置好后即可顺利访问,但是出站规则需要具体了解,整体虽然会用但是对基础的运行逻辑了解的不够深入

2.搭建镜像仓库,目前已成功搭建了一次,之后再搭建的时候会参照这次的范例,下次搭建的应该是用python的mysql数据库初始化服务(只进行初始化),如有问题再去进一步学习完善技术能力,需要注意的问题是:如“ccr.ccs.tencentyun.com/qhqh/gogogo”,qhqh是命名空间,也是最上级目录,这里可以使用我自己的个人标识,如姓名首字母,gogogo是镜像名称,这个镜像名称需要和本地制作好,待上传的镜像名称相同,才能实现上传(目前是这么理解的,待确认)

3.因为服务器不能访问外网所以询问了腾讯云客服,完美解决问题,处理方式是:

为/etc/netplan/5* 添加dns解析后正常。

其大致原因在于ubuntu server版其实和桌面版一样,网络都是默认为dhcp方式,但是因为腾讯云是固定ip所以需要像配置本地局域网固定ip那样手动配置网络,缺少了这一步所以无法登陆外网,而netplan就是server版的网络配置模块

%%%%%%

%%%%%%

接下来就是用python去制作mysql的初始化应用,之所以只制作mysql的而不制作redis的,是因为目前的功能需求用不到redis拥有表结构,获取redis也并不存在相关的功能

对mysql的初始化操作包括:

1.创建数据库

2.创建所有表(基于csv文件夹内所有文件名)

3.创建表结构(列名)分为基础列名和指标列名,基础列名从csv文件中获取,指标列名手动输入

4.创建好一张表和其结构后,会立刻基于创建源(csv文件),录入所有的基础数据历史记录

5.程序最后一个功能模块是对所有表,表内所有列的空缺指标数据进行计算并录入(未完成)

test2

Clone this wiki locally