示例介绍 | 学习笔记

简介: 快速学习示例介绍

开发者学堂课程【ALPD 云架构师系列:云原生 DevOps 36计-阿里云云效出品示例介绍】学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/772/detail/13496


示例介绍


内容介绍:

一、SSH 服务

二、目录结构

三、细节中的问题


一,SSH 服务

image.png

示例。首先看上图的服务,它是一个 SSH 的服务,有一个路口 SSH 入口。客户端连到 SSH 的服务上之后,首先会做健全,健全是由一个健全服务来提供的,健全成功之后。客户端可以向 SSH 服务发送一些请求,比如查询天气,IP归属地等信息。查询之后就会有一个查询机器人的一些服务,这个服务会调一些外部服务,来帮我做查询。可能会发现这本来是一个很简单,完全可以在一个应用里完成的。那为什么要拆分的这么细呢?首先现实情况里,一个应用发展的很快,那它就会变得非常大,那么如果再拆应用是很难拆的,所以如果本来就需要去做各种优化,那么就有这种诉求。另外,这些服务之间是有依赖的,而且也有外部依赖。这种情况下像现实中的很多研发场景,怎么去解决这样一个比较小的一个微服务?,一个应用的各种交付问题。

- >>  ssh  -p  2222  admin@10.105.42.3

admin@10.105.42.3's  password:

> myip

192.168.64.1

> iplocation  42.33.44.5

IP: 42.33.44.5

所在地理位置:韩国首尔特别市首尔特别市

>城市天气 hangzhou

杭州

天气:晴

气温:34 ‘(

风向:东南风

> Connection to 10.105.42.3  closed.

上面是做的一个 md ,10.105地址是本地的K8S的一个经营地址,在布署上去之后,可以连到它这里,然后可以连上去做一个认证,用户名式的密码是 pass,然后完成之后在这个上面可以做,比如:搜索 my ip ,查 ip 归属地,可以找城市天气。那这样就实现了一个助手的功能。

a1pd-bot-auth: 用户鉴权服务

a1pd-bot-query: 查询服务

alpd-bot-ssh:  SSH服务端

protos: 接口 IDL 描述

这里面有四个应用的 git 仓库,首先就是 alpd-bot-auth 这是用户鉴权服务,其实里面基本上就是一个hard编码,一个用户名和密码。第二个就是一个 query 服务,这两个服务都是 gRPC的一个服务。它会为ssh服务做调用。第三个就是我们的入口就是 SSH 服务端,然后呢,它会调用上面两个服务。第四个就是一个protos是我们里面的接口的 IDL。


二,目录结构

image.png

上图是 OS 的目录结构,首先里面会有Dockerfile , Dockerfire描述镜像是怎么回事,怎么构建的。第二个是makefile ,所有的应用都有一个makefile,里面都有一个build的和一个Test,它们一个用来做构建一个用来做测试,构建调用build去做。然后readme会做一个工程说明,这个工程里面是什么、包含了什么、怎么构建、怎么开发。deployment-local 的 yml是为本地K8S部署所用的。还有deployment的yml是为云效K8S使用的,就在云效上做布署的时候,可能因为涉及到一些变量,会通过这个文件去描述,有一个protos的一个目录,这个目录其实是一个接口的定义。上图可以看到里面有两个proto文件,一个 auth 一个 cmd,这两个proto文件,一个设成了go版本一个设成了py版本,还有一个 js ,js 是用dynamic的方式去去实现的。所以整个示例,其实是三个应用加一个protos定义。


三,细节中的问题

image.png

魔鬼总是藏在细节里。比如做工程上的事情的时候,很多事情说出来都是对的,但是具体去落地的时候总是有各种各样的问题,比如配置怎么发布?很多时候发布的不仅仅是代码,还要是配置。还有测试环境不够,测不了之类的。第三个就是总是依赖,第四个就是测试不完。因为发布东西太多了,怎么办呢?还有本地跑不起来。各种各样的很细节的问题才是做工程的时侯,可能会真实遇到的情况。

相关文章
|
Cloud Native 架构师 Devops
几个测试示例分享 | 学习笔记
快速学习几个测试示例分享
几个测试示例分享 | 学习笔记
|
Kubernetes Cloud Native 架构师
示例介绍|学习笔记
快速学习示例介绍
示例介绍|学习笔记
|
监控 Java 应用服务中间件
TestTomcat示例学习笔记
快速学习TestTomcat示例
TestTomcat示例学习笔记
|
前端开发 Java 网络架构
合法性检查示例|学习笔记
快速学习合法性检查示例
116 0
合法性检查示例|学习笔记
|
Cloud Native 架构师 机器人
几个测试示例分享|学习笔记
快速学习几个测试示例分享
几个测试示例分享|学习笔记
|
XML Java 数据格式