Go微服务教程-第八部分

在之前的文章中,我们研究了用Terraform创建一个容器引擎集群。在本文中,我们将使用容器引擎和Kubernetes来研究如何将容器部署到我们的集群中。 Kubernetes首先,Kubernetes是什么?Kubernetes是一个开源的容器管理框架。它是平台无关的,这意味着您可以在本地机器、AWS、谷歌云或其他任何地方运行它。它允许您使用解密配置控制容器组和它们的网络规则。 您只需编写描述哪些容器应该运行的yaml/json文件,以及在何处运行。您可以定义您的网络规则,例如任何端口...

阅读全文

Go微服务教程-第七部分

在前一篇文章中,我们简要介绍了用户界面和web客户端,以及如何使用微工具包rpc代理与新创建的rpc服务进行交互。 这篇文章,我们将讨论如何创建一个云环境来承载我们的服务。我们将使用Terraform来架构我们的云集群在谷歌云平台上。这应该是一篇相当短的文章,但它很重要。 为什么Terraform

阅读全文

Go微服务教程-第六部分

在上一篇文章中,我们讨论了一些在go-micro和go中事件驱动架构的各种方法。这一部分,我们将深入到客户端,看看如何创建与我们的平台交互的web客户端。 我们将研究微型工具包,使您能够将内部rpc方法从外部代理到web客户端。 我们将为我们的平台创建一个用户界面,一个登录界面,以及一个创建委托界面。这将把以前的一些帖子联系在一起。 所以让我们开始吧! RPC复兴REST已经在web上运行多年了,它已经迅速成为管理客户端和服务器之间资源的goto方式。REST的出现,取代了RPC和SO...

阅读全文

Go微服务教程-第五部分

在本系列的前一部分中,我们讨论了用户身份验证和JWT。在这节课中,我们将快速浏览一下go-micro的代理功能,甚至是代理。 正如前文所提到的,go-micro是一个可插拔的框架,它接口许多不同的常用技术。如果您查看一下plugins repo,您会看到它支持了多少个插件。 在我们的例子中,我们将使用NATS代理插件。 事件驱动架构事件驱动的体系结构是一个非常简单的概念。我们通常认为好的体系结构是可以解耦的;这些服务不应该与其他服务相耦合。当我们使用gRPC这样的协议时,这在某些情况下...

阅读全文

Go微服务教程-第四部分

在本系列的前一部分中,我们研究了创建用户服务并开始存储一些用户。现在我们需要考虑使我们的用户服务存储用户密码安全,并创建一些功能来验证用户,并在我们的微服务中发布安全令牌。 注意,我现在已经将我们的服务分离到单独的存储库中。我发现这更容易部署。最初,我打算尝试做一个monorepo,但是我发现用Go的dep管理来设置它太麻烦了,不会有各种冲突。我还将开始演示如何独立运行和测试微服务。 不幸的是,使用这种方法,我们将会失去docker。但现在还好。 现在需要手动运行数据库: 12$ do...

阅读全文

Go微服务教程-第三部分

在之前的文章中,我们介绍了go-micro和Docker的一些基础知识。我们还介绍了第二种服务。在这篇文章中,我们将讨论docker-compose,以及如何在本地更轻松地运行我们的服务。我们将介绍一些不同的数据库,最后我们将介绍第三种服务。 先决条件安装docker-compose:https://docs.docker.com/compose/install/ 但是首先,让我们看看数据库。 选择数据库到目前为止,我们的数据实际上并没有存储在任何地方,而是存储在我们的服务中,当我们的...

阅读全文

Go微服务教程-第二部分(Docker和go-micro)

介绍在之前的文章中,我们介绍了编写基于gRPC的微服务的基础知识。在这一部分;我们将介绍dockeringa服务的基本内容,我们还将更新我们的服务以使用go-micro,最后,引入第二个服务。 介绍 Docker随着云计算的出现和微服务的诞生。部署更多、但更小的代码块的压力导致了一些有趣的新想法和技术。其中之一是容器的概念。 传统上,团队会将一个整体系统部署到静态服务器上,运行一个操作系统,并使用预定义的依赖集来跟踪。或者可能是由Chef或Puppet提供的虚拟机。扩大规模是很昂贵的,...

阅读全文

Go微服务教程-第一部分

介绍这是一个十节Golang的微服务的系列。利用protobuf和gRPC作为底层传输协议。为什么?因为我花了很长时间才弄明白并解决了一个清晰而简洁的解决方案,我想要分享我在创建、测试和部署微服务的过程中所了解到的东西,这些服务是与其他新出现的用户端到一起的。 在本教程中,我们将介绍一些基本概念、术语,并以最原始的形式创建我们的第一个微服务。 我们将在整个系列中创建以下服务: 货物 库存 用户 身份验证 角色 船只 我们最终将会用到:golang, mongodb, grpc, d...

阅读全文

Go微服务教程

这是一个十节Golang的微服务的系列。利用protobuf和gRPC作为底层传输协议。为什么?因为我花了很长时间才弄明白并解决了一个清晰而简洁的解决方案,我想要分享我在创建、测试和部署微服务的过程中所了解到的东西,这些服务是与其他新出现的用户端到一起的。 目录第一部分第二部分第三部分第四部分第五部分第六部分第七部分第八部分

阅读全文

Redis开发和运维 (4) - 其它功能

慢查询客户端生命周期 两点说明: 慢查询发生在第3阶段 客户端超时不一定是慢查询,但是慢查询是客户端超时的一个可能的原因 慢查询的两个配置slowlog-max-len 它决定 slow log 最多能保存多少条日志, slow log 本身是一个 FIFO 队列,当队列大小超过 slowlog-max-len 时,最旧的一条日志将被删除,而最新的一条日志加入到 slow log。 先进先出队列 固定长度,队列满后,第一个进入队列的将会被踢出 保存在内存中 slowlog-log-...

阅读全文


Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :