飞污熊博客

静下心来做一件事

微服务一级目录是按照 DDD 分层架构的分层职责来定义的。在代码模型里分别为用户接口层、应用层、领域层和基础层, 建立了 interfacesapplicationdomaininfrastructure 四个一级代码目录。

这些目录的职能和代码形态是这样的。

  1. interfaces(用户接口层):它主要存放用户接口层与前端交互、展现数据相关的代码。前端应用通过这一层的接口, 向应用服务获取展现所需的数据。这一层主要用来处理用户发送的 Restful 请求,解析用户输入的配置文件, 并将数据传递给 Application 层。数据的组装、数据传输格式以及 Facade 接口等代码都会放在这一层目录里。
  2. application(应用层):它主要存放应用层服务组合和编排相关的代码。 应用服务向下基于微服务内的领域服务或外部微服务的应用服务完成服务的编排和组合, 向上为用户接口层提供各种应用数据展现支持服务。应用服务和事件等代码会放在这一层目录里。
  3. domain(领域层):它主要存放领域层核心业务逻辑相关的代码。领域层可以包含多个聚合代码包, 它们共同实现领域模型的核心业务逻辑。聚合以及聚合内的实体、方法、领域服务和事件等代码会放在这一层目录里。
  4. infrastructure(基础层):它主要存放基础资源服务相关的代码,为其它各层提供的通用技术能力、三方软件包、 数据库服务、配置和基础资源服务的代码都会放在这一层目录里。

下面分别讲解各层的包结构。

阅读全文 »

Harbor是VMware公司开源的企业级公司开源的企业级DockerRegistry项目, 项目地址为https://github.com/vmware/harbor。 其目标是帮助用户迅速搭建一个企业级的Docker镜像服务。它以Docker公司开源的registry为基础,提供了管理UI, 基于角色的访问控制(Role Based Access Control) ,LDAP集成、审计日志、管理界面、自我注册、 镜像复制等企业用户需求的功能,同时还原生支持中文。Harbor的每个组件都是以Docker容器的形式构建, 使用Docker Compose来对它进行部署。用于部署Harbor的Compose模板位于/Deployer/docker-compose.yml, 由5个容器组成,这几个容器通过Docker link的形式连接在一起,在容器之间通过容器名字互相访问。 对终端用户而言,只需要暴露 Proxy(即Nginx)的服务端口。

  • Proxy:由Nginx 服务器构成的反向代理。
  • Registry:由Docker官方的开源 registry镜像构成的容器实例。
  • UI:即架构中的 core services,构成此容器的代码是 Harbor 项目的主体。
  • MySQL:由官方 MySQL 镜像构成的数据库容器。
  • Log:运行着 rsyslogd 的容器,通过 log-driver 的形式收集其他容器的日志。

Harbor官方地址:https://goharbor.io/

阅读全文 »

在生产环境中都是使用集群方式来搭建K8S,这里记录一下如何通过kubeadm来部署K8S集群。 kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。

阅读全文 »

这里总结常用软件的容器化安装步骤,环境为CentOS7。

环境准备要先安装Docker软件,配置好国内加速镜像,这个可以参考我的Docker教程入门篇。这里不再多讲。

这里演示如何在CentOS7上面通过Docker安装MySQL8版本。

阅读全文 »

Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速的部署分布式应用, 它是由 python 编写。 Compose 定位是定义和运行多个 Docker 容器的应用。

刚学习Docker的时候,我们运行一个要一堆的参数,如 --network, --volume, -p 等等, 如果有多个容器组合成一个项目,比如一个 webserver,数据库,缓存等等容器,我们就需要一个个的定义网络等参数, 然后一个个启动,有了 compose 我们只需要一个简单的 docker-compose up ,它就会自动帮我们构建镜像, 配置网络等功能。

Compose 使用的三个步骤:

  1. 使用 Dockerfile 定义应用程序的环境。
  2. 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
  3. 最后,执行 docker-compose up 命令来启动并运行整个应用程序。
阅读全文 »

一般家庭宽带使用拨号连接,上门安装时会给安装一个光猫。自带了Wifi功能,但是信号差很不稳定。追求高质量的Wifi信号的人还是会选择增加一个路由器。 这篇文章指导新手如何通过修改光猫设置来让路由器拨号上网。

光猫设置桥接模式,是家庭网络的一个基础设置,也是一个比较重要的设置。

设置了光猫桥接模式后,拨号上网由路由器来进行,可以方便进行其他网络相关操作,而且可以减少因为光猫问题造成的网络性能瓶颈,家庭网络故障等。

个人建议在办理宽带业务后,先将光猫设置为桥接模式之后,再进行其他的网络设备的连接和调试。

阅读全文 »

比较常见的抓包方法是使用tcpdump在linux机器上运行,生成pcap文件。 然后拖到windows机器,下载wireshark来可视化分析。

常用操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
./tcpdump -i eth0 -vv -s0 -weth0.pcap
# 特定IP地址,不管是源IP还是目的IP
./tcpdump host 10.3.19.129 -i eth0 -vv -s0 -weth0.pcap
./tcpdump dst host 10.3.19.129 -i eth0 -vv -s0 -w eth0 .pcap
# and操作
tcpdump tcp port 22 and src host 123.207.116.169
# or操作
tcpdump src host 123.207.116.168 or src host 123.207.116.169
# 特定源IP地址
tcpdump src host 18.16.202.169
# 特定目标地址
tcpdump dst host 18.16.202.169
# 监听特定主机之间的通信
tcpdump ip host 210.27.48.1 and 210.27.48.2
# 监听特定端口
tcpdump port 8083 -vv
# 监听tcp协议,并加数据包写入abc.cap
tcpdump tcp port 8083 -w ./abc.cap
阅读全文 »

一般设置代理方式是vi /etc/profile,然后添加下面内容

1
2
export http_proxy = http://username:password@yourproxy.com:8080/
export ftp_proxy = http://username:password@yourproxy:8080/

但是这种直接在配置文件里面写自己域账号的明文密码很不安全,如果是几个人共享一台机器,其他人可以直接看到你的密码。

阅读全文 »

netcat 是 Linux 系统中的网络工具,其通过 TCP 和 UDP 协议在网络中读写数据。如果与其他工具结合, 以及加上重定向功能,还可以实现很多不同的功能。所以其以体积小功能灵活而著称,可以用来做很多网络相关的工作。

CentOS7中安装命令

1
yum install nmap-ncat
阅读全文 »