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 是一个完整的,真实的应用,由多个微服务组成,基于领域驱动设计原则。

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

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

  1. Liza说:

    Наконец-то нашла настоящего экстрсенса! Её инстаграм – https://www.instagram.com/zinaida_mag/
    До этого обращалась к многим так называемым экстрасенсам и только она, вотличии от других, мне помогла!!!

  2. Good way of describing, and fastidious piece of writing to take data about my presentation focus, which i am going to convey in school.

  3. NirmRodo说:

    lasix and viagra cialis generic pronounce
    [url=http://bchcialisrx.com/#]cheap cialis[/url]
    generic cialis any good
    generic cialis

  4. Fluopsy说:

    tadalafil versus cialis generic
    [url=http://cialchprx.com/#]buy cialis online[/url]
    cialis india generic
    cheap cialis online

  5. Pleasе let me know if you’re looking for a article writer
    for our blog. You have some really good ρosts and
    I think I would bee a good asset. If you ever want tⲟ take some of the load off, I’d absolutеly love tօ
    write some articⅼes for your blog in exchange f᧐r a link Ƅack to
    mine. Ꮲlease send me an emaijl if interested. Thank you!

  6. Allenmar说:

    Hello there! us online pharmacy very good website.

  7. WalterTefly说:

    http://plyk.ru/publ/pritchi-2/
    В первые выходные лета съездили для Новгородщину, в чудное местечко около названием Менюша. Манеж подарило незабываемые впечатления через прогулки сообразно плавающим гатям до Святого озера. Тротуар по болоту в большую воду сообразно колориту затмило даже Реконьскую пустынь. Разумеется и местная сказка про менюшских отроков заставляет стыть в жилах кровь…
    До Менюшей можно наказывать, разве для трассе Шимск – Лудони накануне селением Неловкий повернуть направо сообразно указателю и проехать 15 километров в меру разбитой дороги.
    Менюша – деревня старинное, упоминаемое с 15 века. Ранее дорога Новгород – Псков проходила аккурат здесь, она была проложена поверх болот и была по сути настоящей гатью.
    Когда-то тогда был обитель, только, к сожалению, во эпоха Великой Отечественной войны деревня было разрушено и исторических зданий здесь не осталось. Сохранились лишь руины церкви 1890 возраст, которая освящена в почтение последних новгородских святых – отроков Иоанна и Иакова.
    Случай с этими отроками случилась в деревне Прихон осенью 1570 года. Жили в этой деревне благочестивые супруги Исидор и Варвара и было у них два сына. Как-то ушли супруги в край, а деток одних оставили. Старший, пятилетний Иоанн, решил поиграть в “отца и барана”, так только накануне видел, словно отец во дворе барана резал.
    Взял и, не продолжительно думая, зарезал своего младшего трехлетнего брата Иакова. После, конечно, испугался, спрятал зарезанного братца в печь и самовольно там укрылся. Ничего не подозревающие родители пришли, затопили печь, а потом стали подбирать запропастившихся детей. Нашли их обгоревшие трупики в печи, погоревали и похоронили младенцев на кладбище присутствие церкви Медведского погоста.
    Но для этом предание не закончилась. Сквозь некоторое время одни охотники заблудились в лесу. И недуманнонегаданно они увидели, будто сообразно небольшому озеру плывут два белых гробика, а в них Иоанн и Иаков.
    Младенцы помогли охотникам найти дорогу домой. Затем этого отроков еще захоронили для часть же кладбище, однако неугомонные младенцы вторично явились тем же охотниками и попросили захоронить их в Менюше. Мальчиков уважили, перезахоронили, возвели часовенку, а потом и церковь. После этого к могиле и к озеру началось паломничество и продолжается это паломничество по сей день…

  8. Kellydouse说:

    Кому нужно офрмить больничный лист обращайтесь

    Купить больничный лист в САО Москвы район Аэропорт.

  9. Вот мы и встретились!
    Боишься ошибиться с новым диваном?Спроси меня как этого избежать.
    Я купила диван, который меня устроил и готова делиться практикой. У нас все не как у других хотела красивый диванчик. Я от моего выбора муж был в шоке. Решила не впадать в панику. Начали смотреть габариты, размер, качество.
    Самое первое: У дивана должен быть каркас, который вы можете четко увидеть или прощупать по периметру.
    Второе: В диване должен быть ящик. На нем как правило крепиться и держится весь конструктив.
    Третье: Подлокотники тоже должны быть с каркасом, а не картонные. Попробуйте сесть в магазине на подлокотник и если он выдержит и не погнётся прощупайте его руками на предмет жестости ребер.
    Четвертое: Дерево должно быть сухим, без коры, без сучков и просматриваться хотя бы местами.
    Пятое: Диван не должен греметь и скрипеть и издавать любые другие посторонние звуки (допускается вибрация пружинного блока, но не звон).
    Шестое: Диван должен быть из целикового каркаса и собран не на гвоздях. Дерево каркаса крепиться “гребенкой” в месте стыка.
    Седьмое: Вы должны сами разложить диван и собрать в торговом зале, а лучше чтобы это проделали и ваши домочадцы. Все механизмы должны работать четко. Проделайте раскладку 5-10 раз подряд – многие механизмы “фиговенького качества” начнут тетрять первозданный вид и просто посыплются. Не доверяйте раскладку мебели продавцу – это очень подкачанные девушки и юноши и они Вам разбирать диван домой не придут так что давайте сразу сами 🙂
    Вы тогда все вытерпите и муж хоккей, а вы Дом2…10 смотреть будете с комфортом и без молотка в руках.
    Мы это все изучили на собственном дорогостоящем опыте со своим первым диваном. Муж жил с молотком в руках. Купили мы это первое бестолковое чудо в ТЦ “Тандем” в салоне на 2-ом этаже Лед*с. Ужас как промучалися год, пока накопили на новый диван. А на вопрос гарантии мне в магазине сказали что с фабрикой произведшей мой ужастный диван они больше не работаю.

  10. MiguelNew说:

    мебель для кухни – духовой шкаф, варочные центры

  11. kraitters说:

    Вы здесь верно сказали, почитайте об данном событии мою статью, что бы вы ни сделали, они всегда будут правы. Их излюбленные слова: “Нужно сделать так и так”, “А я говорил, а никто не слушал”.

  12. ThomasErark说:

    Сервис сообразно продвижению групп ВКонтакте, страниц Инстаграм, Twitter, Facebook, Ask.fm.
    Мы предоставляем огромный функционал сообразно продвижению страниц во всех ведущих социальных сетях.

    https://autokrut.com/

    Накрутка Инстаграм
    Качественное и недорогое продвижение страниц в Инстаграм: накрутка подписчиков и накрутка лайков. Лихо дозволительно будет накручивать комментарии!

    Автоматическая накрутка лайков к записям
    Настройте, какие страницы Ваших соцсетей мы должны отслеживать – и мы будем автоматически накручивать лайки ко всем новым записям для этих страницах!

  13. WalterTefly说:

    http://plyk.ru/publ/pritchi-2/
    В первые выходные лета съездили на Новгородщину, в чудное деревня почти названием Менюша. Село подарило незабываемые впечатления через прогулки по плавающим гатям накануне Святого озера. Дорога по болоту в большую воду по колориту затмило даже Реконьскую пустынь. Согласен и местная легенда про менюшских отроков заставляет стыть в жилах кровь…
    Накануне Менюшей можно приходить, если для трассе Шимск – Лудони пред селением Неловкий повернуть направо сообразно указателю и проехать 15 километров в меру разбитой дороги.
    Менюша – деревня старинное, упоминаемое с 15 века. Ранее полотно Новгород – Псков проходила аккурат здесь, она была проложена поверх болот и была сообразно сути настоящей гатью.
    Когда-то тут был убежище, только, к сожалению, во время Великой Отечественной войны деревня было разрушено и исторических зданий здесь не осталось. Сохранились только руины церкви 1890 года, которая освящена в честь последних новгородских святых – отроков Иоанна и Иакова.
    История с этими отроками случилась в деревне Прихон осенью 1570 года. Жили в этой деревне благочестивые супруги Исидор и Варвара и было у них два сына. Как-то ушли супруги в край, а деток одних оставили. Старший, пятилетний Иоанн, решил поиграть в “отца и барана”, так якобы заранее видел, как отец во дворе барана резал.
    Взял и, не бесконечно думая, зарезал своего младшего трехлетнего брата Иакова. После, действительно, испугался, спрятал зарезанного братца в печь и один там укрылся. Нуль не подозревающие родители пришли, затопили печь, а после стали рыться запропастившихся детей. Нашли их обгоревшие трупики в печи, погоревали и похоронили младенцев на кладбище при церкви Медведского погоста.
    Однако на этом регесты не закончилась. Путем некоторое эра одни охотники заблудились в лесу. И неожиданно они увидели, будто по небольшому озеру плывут два белых гробика, а в них Иоанн и Иаков.
    Младенцы помогли охотникам встречать дорогу домой. После этого отроков опять захоронили на книга же кладбище, только неугомонные младенцы вдругорядь явились тем же охотниками и попросили захоронить их в Менюше. Мальчиков уважили, перезахоронили, возвели часовенку, а потом и церковь. Впоследствии этого к могиле и к озеру началось путешествие и продолжается это путешествие по этот день…

  14. JamesDrolf说:

    innosilicon сайт – асик инносиликон а9, innosilicon a10 ethmaster

  15. WilliamTHOUG说:

    http://uchinfo.com.ua/blogs/comp-tech/pogovorim-o-3d-texnologiyax/
    который 3D технологии применяются не только в киноиндустрии. Где же ёщё можно понимать их использование?

    Это и разнообразная 3D техника. Понятно, первонаперво всего домашние телевизоры нового поколения, если фильмы трёхмерного изображения можно походить дома, наслаждаясь необычностью картины.
    Данная технология начала использоваться и около создании наружной рекламы. Представьте себе большой щит, для котором изображён индивидуальность, мечтающий построить себе дом. И внезапно мы видим, только для наших глазах словно появляется строительная техника. Она прежде роет котлован, после возводит стены, строит дом почти ключ. Человеку остаётся только войти в свой последний дом. Открывается дверь- и вы словно тоже попадаете вовнутрь этого дома. Чудо? Конечно. Ровно велика вес воздействия такой рекламы!
    А представляете себе свою гостиную, пол которой тоже выполнен с использованием 3D технологий. Картинку дозволено обещать любую. Вы можете понимать у себя под ногами дно моря с его обитателями, бурлящий наводнение воды либо тихое звук ручья. Так и кажется, что вот-вот, и вы погрузитесь в прохладу этой воды, почувствуете, чистый она ласкает вас. Эффект присутствия налицо. Верно ещё и всё это красиво, необычно, современно.
    Причина технологии стали привыкать и в школах, вузах, для воссоздать трёхмерное портрет, скажем подобный клетки, кровеносной системы человека, представить себе каким является изнутри космический корабль, как и сколько примерно видят космонавты в его иллюминаторы.
    Ейей, горизонты познания безграничны, и 3D технологии преподнесут нам ещё массу удивительного и необычного.

  16. monmbranywv说:

    Ремонт квартиры «ПОД КЛЮЧ» за 45 дней!
    Компания «Веста» выполняет полный комплекс ремонтно-отделочных работ Более 14 лет работаем в отделке квартир. За это время сделано более 1600 квартир от косметического до сложного дизайнерского ремонта.

    Знаем, как сделать работу качественно и при этом разумно
    сэкономить 150 000 рублей Вашего бюджета!
    В данный момент ситуация на рынке такова, что люди часто сталкиваются с халатной работой и затягиванием сроков. Именно поэтому нам важно сказать, что мы УМЕЕМ разумно экономить на ремонте и делать его по-настоящему качественно.

    ПРЕИМУЩЕСТВА РАБОТЫ С НАМИ ?
    – Мы профессиональная команда, с опытом более 14 лет.
    – Выполняем работу точно в сроки, производим любые объемы.
    – Уважительное и вежливое отношение к заказчику, умеем слушать
    и слышать ваши пожелания.
    – Стоимость работ фиксирована и не меняется в процессе ремонта.
    – Гарантированная отчетность по документам.
    – Работаем быстро, качественно и с удовольствием для Вас.
    Вы сможете вздохнуть с облегчением уже с первых дней ремонта!
    ГАРАНТИРУЕМ:
    – Отсутствие рисков – оплата по факту выполненных работ.
    – Консультация по Расчету и Подбору Стройматериалов
    – Полный спектр Ремонтных Работ “от и до”
    – Решение вопросов со службами ЖКХ
    – Собственный Транспорт для Доставки Стройматериалов
    – Тотальная Прозрачность Цен
    – Точный Финансовый Отчет о проделанных работах
    – Уборка помещений после Ремонта
    – Гарантия на Ремонт в соответствии с договором
    Доставка и разгрузка материала
    Приглашаем посетить наши выполненные и действующие объекты
    Анализ планировки, технических возможностей для ремонта
    Рекомендации по оптимальному использованию пространства
    Советы по выбору материалов для отделки
    Убедиться в качестве наших работ можно вживую, детально оценить нашу работу, получить обратную связь от наших заказчиков.

    Работаем по договору, без предоплаты.
    Работает во всех районах Москвы и Московской области.

    Звоните в любое время, с удовольствием ответим на все ваши вопросы!
    Вызвать специалиста можно по телефону: 8(495) 223-17-27
    Узнайте цену своего ремонта, а так же посмотрите портфолио выполненных работ на сайте: http://remvest.ru/

  17. Mr.danyfob说:

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

  18. thyday说:

    payday loans no fees
    [url=http://loansonlinemoney.com/#]payday loans online no credit check[/url]
    loans for bad credit no guarantor
    personal loans online

  19. Jesiemew说:

    займы быстро на карту все онлайн займы займ на киви без отказа с плохой кредитной историей где взять кредит лучше всего

  20. Richardpat说:

    mobile banner advertising
    mobile banner advertising
    Mobile monetization platform
    Android traffic monetization
    Mobile traffic monetization
    Mobile traffic monetization
    Android traffic mediation

  21. WilliamTHOUG说:

    http://uchinfo.com.ua/blogs/comp-tech/pogovorim-o-3d-texnologiyax/
    который 3D технологии применяются не только в киноиндустрии. Где же ёщё дозволено понимать их использование?

    Это и разнообразная 3D техника. Вестимо, давно только домашние телевизоры нового поколения, когда фильмы трёхмерного изображения дозволительно уставиться дома, наслаждаясь необычностью картины.
    Данная технология начала использоваться и присутствие создании наружной рекламы. Представьте себе огромный защита, на котором изображён человек, мечтающий построить себе дом. И прелюдий мы видим, как для наших глазах как появляется строительная техника. Она прежде роет котлован, затем возводит стены, строит землянка около ключ. Человеку остаётся только войти в свой последний дом. Открывается дверь- и вы как тоже попадаете вовнутрь этого дома. Чудо? Конечно. Ровно велика вес воздействия такой рекламы!
    А представляете себе свою гостиную, пол которой тоже выполнен с использованием 3D технологий. Картинку позволительно заказать любую. Вы можете видеть у себя около ногами земля моря с его обитателями, бурлящий много воды иначе тихое звук ручья. Так и кажется, который вот-вот, и вы погрузитесь в прохладу этой воды, почувствуете, сиречь она ласкает вас. Эффект присутствия налицо. Также ещё и всё это красиво, необычно, современно.
    Данные технологии стали приспособляться и в школах, вузах, чтобы воссоздать трёхмерное кумир, предположим подобный клетки, кровеносной системы человека, представить себе каким является изнутри космический корабль, чистый и что будто видят космонавты в его иллюминаторы.
    Желание, горизонты познания безграничны, и 3D технологии преподнесут нам ещё массу удивительного и необычного.

  22. игровые автоматы на андроид

    игровые автоматы

  23. Normanclemo说:

    Hello there! canadian online pharmacy beneficial web site.

  24. LesnoylEa说:

    Жк лесной квартал березовец жк лесной квартал в дмитрове жк квартал лесной форум

  25. Thanks for finally writing about >Go-kit 入门(四)服务调用 | 香草的技术博客 <Liked it!

  26. It’s awesome to pay a quick visit this site and reading the views of all
    friends on the topic of this post, while I am also
    zealous of getting experience.

  27. Mobesk说:

    loan with bad credit
    [url=http://personalloansx1.com/#]private personal loans[/url]
    payday loan providers
    personal loans online

评论功能已关闭。