Micro是一个云本地开发框架,它解决了构建云本机服务的主要需求点。MicroservicesArchitection Micro用于解决分布式系统的复杂性,并提供更简单的编程抽象作为基础,并提供一组服务作为一组服务平台的平台。
技术正在不断开发,基础架构堆栈一直在变化。Micro是一个平台,可以解决这些问题,这些问题可以通过插件基础和可以在其上构建的严格定义的API来解决。可以在任何堆栈或云环境中使用。。
微观的关键组成部分如下:
要编写在Micro上运行的应用程序,您可以使用GO Micro Framework。
当然,也可以在中国使用微型
将使用最新版本的Micro
在另一个命令线端
我们可以通过以下命令查看服务操作中的输出日志
通过以下命令,您可以查看服务的状态和元数据
通过以下命令,您可以调用相关服务
通过以下命令,您可以查询服务列表
通过以下命令,可以实现新服务
正如您所看到的,在构建第一个服务之前,必须安装工具
文件需要转换为GO代码。文件的存在是提供一种提供无关语言来描述服务器端点,其输入和输出类型的方法,并提供有效的序列化格式。
因此,一旦安装了所有工具,在服务root目录中,我们可以发出以下命令以从原始文件生成GO代码
生成的代码必须提交给源代码控制,以使其他服务在服务呼叫时导入原型
在这一点上,我们知道如何编写服务,运行服务以及如何致电其他服务。我们的触手一切都很好,但是我们仍然没有一些剪辑来编写应用程序。存储接口是其中之一,即使没有数据库也可以帮助持久的存储数据。
除了许多有用的构建服务外,Micro还包括用于存储数据的持久存储服务。
为了维持值,我们可以使用以下命令
然后使用以下命令读取此值
现在,由于示例服务正在运行,我们现在不能使用它,但是我们可以使用它来重新删除它。
我们可以简单地发布更新命令(请记住首先切换回示例服务的根目录)
目前,您可以查看该服务已更新的服务
如果出于某些原因而失控,我们可以尝试长期测试的“关闭然后打开”解决方案:
Go-Kit将自己描述为微服务的标准库。例如,Go-Kit为您提供一个可用于构建应用程序的单个软件包。Go-kit非常适合想要完全控制服务方法的地方。
Go Micro也是微服务的标准库,因此,如果您想选择最佳的作品抽象作为平台。
Micro使用GRPC,因此其性能相似。Micro还可以在多个服务示例之间实现负载平衡,并且可以在扩展时分配负载到分布式系统基础架构。
Micro支持环境作为一个概念。它是一台在本地或其他位置托管的微型服务器。它被定义为映射到Micro Proxy(GRPC代理)的名称。我们引入了两个环境,即“本地”和“平台”和“平台”。
这是由Micro Server启动的本地服务器,该服务器位于端口上。这是我们作为付费产品的监护权环境。理想情况下,如果您需要托管,则可以在其中运行代码。
在代码中,使用了命令行工具库的大量使用。可以说这些内容在理解道路上更为重要。让我们看一下此工具的详细信息;
CLI是一个简单,快速且有趣的软件包,用于构建命令行程序。目标是允许开发人员以表达方式快速和分布式命令行应用程序编写。
5.1.1安装5.1.2简单使用CLI背后的理念之一是API应该很有趣并且充满发现。因此,CLI应用程序中的代码可能少于一行
该应用程序将运行并显示帮助文本,但这不是很有用。
让我们采取行动并提供一些帮助文件:
运行程序时,app.run将做出指定的操作。
您可以通过调用函数来找到参数,例如:
设置和查询标志很简单。
有时,方法字符串中的标志值很有用。这种类型的位置由诱导的数字表示。
请注意,只有第一名占据。随后的反诉讼将保留。
您可以通过提供名称的逗号分隔列表来设置标志的备用(或缩写)名称
这样,可以将标志设置为OR。请注意,同一命令调用中同一徽标的两种不同形式是错误的。
应用程序和命令的徽标以定义的顺序显示。但是,可以从此库中对其进行排序以通过或组合它们或组合
输出顺序将按排序顺序输出
通过将所需字段设置为true,您可以创建所需的徽标。如果用户不提供必要的符号,将显示错误消息。
有时,FLAG的默认值在标志语句中很有用。如果标记的默认值是计算值,则很有用。可以通过DefaultText结构字段设置默认值。
输出文本将包括默认值信息
不同符号值的优先级如下(从高到低):
sub -commands:您可以为命令行应用程序定义与git更相似的sub -command。
对于具有许多子命令的应用程序中的其他组织,您可以将每个命令的类别关联,以便他们可以在帮助输出中融合在一起
呼叫不会自动调用,这意味着默认情况下,退出代码将“删除”到0.您可以通过返回满足满意度或包含满足的错误的非nil错误来列出退出代码。
结合简短的选项:该选项的短名称的传统用法如下:
假设您希望用户将选项与其短名称结合在一起。您可以在应用程序配置中使用UseshorToptionHandling bool来完成此操作,或在命令配置中添加单个命令。
您可以使命令完成设置徽标