Go-kit 入门(四)服务调用

调用服务

存在“真空”(即极其独立,与其他任何服务无互相调用的关系)中的服务是罕见的。而我们常见的是,我们需要调用其他的服务。这也是 Go kit 的闪光点 ,我们提供了 传输中间件 机制来解决可能出现的很多问题。

下面我们将实现一个代理功能的中间件,作为一个服务中间件。在这里我们只代理一个方法,Uppercase。

客户端端点

我们已经有了一个跟我们所知道的完全相同的端点,但是我们将使用它来调用一个请求,而不是提供服务。按照这种方式来使用它的时候,我们称它为客户端端点。为了调用客户端端点,我们需要做一些简单的转换。

现在,我们为了构造一个代理中间件,我们将一个代理URL字符串转换为一个端点。加入我们使用 HTTP 协议之上的 JSON,我们可以使用 transport/http 包中的一个辅助(helper)函数。

服务发现和负载均衡

如果我们只使用一个远程的服务就好了。但是实际上,我们往往 会有很多个服务实例。我们希望通过一些服务发现算法来发现它们,然后将我们的负载分散到它们上面,并且如果这些实例中的任何一个变得糟糕,我们能够处理它,并且不影响我们服务的可用性。

Go kit 为不同的服务发现系统提供了适配器,为了获取最新的服务实例集合,暴露端点个体。这些适配器被称为 发布器(publishers)。

在发布器内部,它使用一个私有的工厂函数,将被发现的每一个 host:port 字符串 转换成一个可用的端点。

目前,我们的工程方法,makeUppercaseEndpoint,只是直接请求 URL。但是,在工厂函数中加入一些安全的中间件方法是很重要的,比如 回路断路器 和 限流器。

现在,我们已经有了一系列的端点,我们需要在其中选择一个。负载均衡器包装了 发布器,并且从端点集合中选择其中的某一个。Go kit 提供了一组基本的负载均衡器,并且,如果你希望更多的高级的算法,也可以很容易的自己来写一个。

现在,我们可以根据一下算法来选择端点。我们能够使用它为消费器提供一个单一的、逻辑的可靠的端点。通过重试的策略包装负载均衡器,并且返回一个可用的端点。重试的策略可以将一个失败的请求进行重试,直到达到最大的可重试次数或是达到超时时间。

现在,让我们将最后的代理中间件加入到代码中。为了简洁,我们假设用户会为逗号(,)分隔的多个实例端点指定一个标记。

stringsvc3

截止目前,这个完整的服务是 stringsvc3$ go get github.com/go-kit/kit/examples/stringsvc3 $ stringsvc3 -listen=:8001 & listen=:8001 caller=proxying.go:25 proxy_to=none listen=:8001 caller=main.go:72 msg=HTTP addr=:8001 $ stringsvc3 -listen=:8002 & listen=:8002 caller=proxying.go:25 proxy_to=none listen=:8002 caller=main.go:72 msg=HTTP addr=:8002 $ stringsvc3 -listen=:8003 & listen=:8003 caller=proxying.go:25 proxy_to=none listen=:8003 caller=main.go:72 msg=HTTP addr=:8003 $ stringsvc3 -listen=:8080 -proxy=localhost:8001,localhost:8002,localhost:8003 listen=:8080 caller=proxying.go:29 proxy_to="[localhost:8001 localhost:8002 localhost:8003]" listen=:8080 caller=main.go:72 msg=HTTP addr=:8080

高级话题

线程上下文

上下文对象用来在单个请求中携带那些需要跨越概念性边界的信息。在我们的例子中,我们还没有在业务逻辑中使用线程上下文。但是,这种方式几乎会永远都是一个好方案。它允许我们在业务逻辑和中间件中传递请求范围内的信息,并且对于复杂的任务(比如,分布式系统的细粒度追踪信息)也是很必要的。

具体点来讲,这也意味着你的业务逻辑接口会这样:

 

请求跟踪

一旦你的基础设施增长超过一定的规模,在多个服务中跟踪请求是非常必要的,这样,你就能够分析并解决故障热点。参见 package tracing 获取更多信息。

创建一个客户端软件包

使用 Go kit 为你的服务创建一个客户端软件包是很可能的事情,让你的服务能够很容易对其他的 Go 程序进行调用。实际上,你的客户端package会提供你的服务接口,这个接口会使用指定的传输方式来调用远程服务。参见 package addsvc/client 作为参考例子.

其他例子

addsvc

addsvc 是原来的一个例子。它公开 所有支持的传输方式 的系列操作。它完整地做了日志记录、仪表盘化,并且使用 Zipkin 来跟踪请求。同样,它也示范了如何创建和使用客户端package。它是一个非常棒的例子,为 Go kit 服务提供了完整的功能示例。

profilesvc

profilesvc 示范了如何使用 Go kit 来打造 REST 风格的微服务。

apigateway

apigateway 示范了如何实现一个 API 网关模式,通过 Consul 作为服务发现系统。

shipping

shipping 是一个完整的,真实的应用,由多个微服务组成,基于领域驱动设计原则。

|2|left
此条目发表在MircroService分类目录,贴了, 标签。将固定链接加入收藏夹。

Go-kit 入门(四)服务调用》有 594 条评论

  1. Mug说:

    Пожаро-техническая экспертиза – http://pozex.ru

  2. Adobe Flash说:

    Reduce Heat Loss, Drafts and Noise! Lower Energy Cost, Order Today Adobe Dreamweaver

    microsoft office discount for students the ultimate steal
    buy adobe illustrator cs6 student edition
    price photoshop software
    buy autocad 2013 online
    adobe creative suite 6 master collection download
    discount adobe software for nonprofits
    purchase adobe premiere
    purchase microsoft excel 2013
    windows xp professional software price in india
    windows 7 home premium license
    purchase autocad civil 3d

  3. I have been surfing on-line greater than 3 hours today, but I never discovered any fascinating article like yours.
    It’s lovely worth sufficient for me. In my view, if all site owners and bloggers made excellent content as you did,
    the web can be much more helpful than ever before.

  4. Adobe Flash说:

    And More With Sage 300 ERP. Save Time & Money, Grow Your Business! Adobe Prelude

    adobe creative suite cs6 student price
    buy adobe creative suite 5 design standard
    price solidworks 2017
    buy adobe lightroom 6 upgrade
    adobe acrobat standard dc ocr
    adobe creative suite 5 for mac download
    store autodesk kr
    purchase microsoft office 2010 for mac
    adobe premiere pro cs6 (student edition download)
    adobe indesign cs6 student kaufen
    microsoft excel 2007 for macbook pro

  5. Everyone loves what you guys are up too. Such clever
    work and reporting! Keep up the terrific works guys I’ve
    incorporated you guys to our blogroll.

  6. par说:

    Пройти полиграф стоимость – http://psiex.ru/

  7. Hey there just wanted to give you a quick heads up.
    The words in your article seem to be running
    off the screen in Firefox. I’m not sure if this is a formatting
    issue or something to do with browser compatibility but I
    figured I’d post to let you know. The design and
    style look great though! Hope you get the issue fixed soon. Cheers

  8. SamuelCok说:

    Бюстгальтер-невидимка Fly Bra (Флай бра)
    Незаменим для женщин, хотящих выглядеть на 150%
    при покупке – подарок
    Щёлкни по картинке. Удачи, милым красавицам

    http://img.apishops.org/150~-~0~16777215~1~-~-~-~0/3/2517/2517068/22708250.jpg

  9. Have used/new software for sale? Sell it to us for cash on the spot! buy now!

    buy photoshop online download
    adobe premiere pro cs5
    creative suite 6 master collection trial download
    indesign cs6 student download
    download microsoft excel for macbook air
    cheap windows 7 pc
    cheapest windows 7 computer
    microsoft word powerpoint and excel for mac
    buy photoshop cs5 mac
    purchase windows xp download
    price of windows xp installation cd

  10. quofs说:

    Архитектурно строительная экспертиза – http://www.strexp.ru

  11. Have used/new software for sale? Sell it to us for cash on the spot! Adobe Muse

    price revit families
    best price photoshop elements 15
    buy adobe premiere student
    microsoft word excel and powerpoint for mac
    windows 7 pro pcs
    windows 7 home premium 32 bit buy online canada
    price of autocad 2012 software
    windows 7 home premium 64 bit price
    adobe premiere pro cc
    microsoft windows 7 ultimate student discount
    buy windows xp pro license

  12. gelenlOvemn说:

    Дорогие друзья совсем немного осталось до престоящего каникул в связи с этим вопрос кто куда хочет поехать отдыхать?
    Подумываем с мужем поехать провести отпуск, кто где ищет жилье в геленджике?
    Боюсь что обманут сейчас столько воров страшно бронировать.

  13. agoriarat说:

    Le pire problème est qu’il est vraiment très facile Nike Air Max Tavas de réduire. Il n’a pas été réaliste ou chaud mettant sur un costume de licou chic en saison d’hiver! Cela pourrait vous préserver d’acheter une robe qui a gagné l’expérience correcte dans la journée. Chaque recoin et coin de la ville est complet de l’existence, la beauté et raconte les contes de l’histoire. Nike Air Max 95 Homme Le Nike Dunk Supreme 08 noir violet jaune. Certes, votre collection a rapidement grandi et maintenant vous vous retrouvez dans la passion complète, une passion délicieuse, je pourrais insérer. Dans l’article qui a été publié dans “American réelle physiothérapie”, il a dit, aux personnes d’age moyen et plus agés, l’amélioration de la circulation sanguine de l’artère Nike Femme Pas Cher coronaire était particulièrement important.
    xlccl20180412er

  14. Toork说:

    http://tehexp.ru/ – техническая экспертиза оборудования

  15. nup说:

    Независимая экспертиза дивана в Москве – http://toveks.ru

  16. rer说:

    Независимая экспертиза земельного участка – http://zemeks.ru

  17. I am sure this article has touched all the internet visitors, its really really good
    post on building up new web site.

  18. AOneme说:

    Таможенная экспертиза драгоценных металлов http://2metall.ru

  19. hek说:

    http://autoss.ru/ – Трасологическая экспертиза после ДТП

  20. agoriarat说:

    Employing the talents of a third bash that is informed from the intricacies of NFL Scarfs the law and encompasses a fiduciary responsibility to their consumer implies that you’re going to have the simplest resolution likely to financial gain you for a purchaser. There was a man in Pennsylvania who took residence sixteen.two million bucks after taxes. Folks have the concept the Bail company delivers over a bag of gold bullion and deposits it while using the Sheriff. Six months immediately after Officer Riggs put in nike nfl jerseys wholesale it, he learned that his generation experienced diminished the level of the intersection’s incidents substantially. By no means such as C Company or even the Subchapter S Company which have to have yearly gatherings and composed minutes alongside other company methodology, your New Jersey LLC won’t requires this kind of gatherings and records. Within the absence of these types of barricades, an unpleasant wholesale jerseys free shipping traffic jam could result very quickly.
    xlddl20180412er

  21. agoriarat说:

    Une nouvelle solution dans laquelle vous gagnez Nike Air Huarache de l’argent va aller dans le monde réel de l’utilisation. Les lacets de chaussures sont également bleus. Il devrait vraiment être éviter de porter dans un environnement non naturel, par exemple, le jour pluvieux, neigeux ainsi que le tarmac avec une température plus Adidas NMD Femme élevée sous le grand soleil. Il est originaire de Shibuya dans l’espace Harajuku à Tokyo. La tige de milieu de pied de TPU fournit le support de midfoot. Le Nike Air Max Classic BW est essentiellement le premier Nike Air Max Command Femme Nike Air Max LTD hommes, renommé seulement.
    xlccl20180412er

  22. hek说:

    http://autoss.ru – Судебная трасологическая экспертиза при ДТП

  23. agoriarat说:

    Michael could be the author and producer of ?Inspirational Pep Talks?, accessible at. china jerseys nfl Just about every purpose in the mainland is duplicated right here in miniature – Jersey Submit rather on the Royal Mail; Jersey Telecom in lieu of British Telecom, Jersey Heritage in its place of English Heritage. When my wife acquired baseball heart guards to the little ones once they started off tiny league I thought what a waste of cash. For that reason thousands of visitors are coming cheap jerseys china wholesale to the picturesque Island of Jersey every year as well as the selection is increasing with each passing day. Hardly forty-five square miles of verdant valleys, wooded lanes and quaint villages, the island doubles in dimensions at very low tide as the potent tidal surge from the St Malo basin reveals large tracts of sea bed. It can be a good idea to own trustworthy, cheap jerseys from china veteran players in these roles (preferably from distinct lines).
    xlddl20180412er

  24. agoriarat说:

    Même les dames portaient le Stetson avec Annie Oakley Nike Air Huarache Femme et Dale Evans. Il n’y a pas de grande différence entre les deux scenearios mentionnés ci-dessus. Il est possible que vous découvrirez que les gens avaient des pensées inverses sur tous les éléments du jogging pendant que vous avez connu la reconnaissance supplémentaire du jogging. Il devrait également être facile à mettre dans votre poche, alors Nike Air Max 1 Homme ne vous laissez pas tenter par une torche ridicule en forme de dragon. D’autres se spécialisent seulement dans le glaucome, la cornée, la rétine ou dans les cataractes. Pour les robes sur mesure, la valeur est normalement déterminée par la quantité d’élément concerné dans la fabrication, Boutique Chaussures Nike Femme Pas Cher qui peut sélectionner de manière significative.
    xlccl20180412er

  25. I was wondering if you ever thought of changing the layout
    of your blog? Its very well written; I love what youve
    got to say. But maybe you could a little more in the way of content
    so people could connect with it better. Youve got
    an awful lot of text for only having 1 or two images.
    Maybe you could space it out better?

  26. Arers说:

    http://www.avto-ekspertiza.ru – экспертиза автомобиля в москве

  27. I have been browsing online more than three hours today, yet I never found
    any interesting article like yours. It’s pretty worth
    enough for me. In my view, if all web owners and bloggers made good content
    as you did, the net will be a lot more useful than ever before.

  28. Минут десять пересматривал содержимое сети интернет, случайно к своему восторгу открыл красивый ресурс. Вот смотрите: Купить лекарства без рецепта . Для нас данный вебсайт оказал яркое впечатление. Пока!

  29. I’m not that much of a online reader to be honest but
    your blogs really nice, keep it up! I’ll go ahead
    and bookmark your site to come back in the future. All the best

  30. orimb说:

    http://avtoprices.ru/ – оценка автомобиля для наследства

  31. Greetings! I’ve been reading your website for a while
    now and finally got the bravery to go ahead and
    give you a shout out from Atascocita Texas! Just wanted to say keep up the great
    job!

  32. AMUTS说:

    Бухгалтерская экспертиза банкротства http://bankrotstvovrf.ru

发表评论

电子邮件地址不会被公开。 必填项已用*标注