Учебник go-zero - сервисное подразделение и создание проекта

Go

Перед формальным созданием проекта нам также необходимо реорганизовать разделение между сервисами.

Я назвал проект какfoodguides

foodguidesВ рамках проекта есть две основные функции: управление пользователями.usermanage, управление питаниемfoodmanage.

Анализировать управление пользователями

Управление пользователямиusermanageСледующее также имеет две основные услуги,apiобслуживание иrpcСлужить.

apiСервис должен предоставлять три внешнихapiинтерфейс.

  • login: Интерфейс входа пользователя
  • register: Интерфейс регистрации пользователя
  • userinfo: Пользовательский информационный интерфейс

rpcСлужбе необходимо предоставить три внешних интерфейса.

  • login: Интерфейс входа пользователя
  • register: Интерфейс регистрации пользователя
  • userinfo: Пользовательский информационный интерфейс

Хотя обе службы предоставляют одни и те же функции, здесь нам нужно различать объекты службы двух служб,apiСервис внешний, например, мы тутappназываетсяapiСлужить.rpcУслуги являются внутренними, такими какapiслужба называетсяrpcСлужить.

  • если поставитьfoodguidesПо сравнению с рестораном, тоapiОбслуживание эквивалентно работе официанта.rpcОбслуживание эквивалентно работе повара.
  • Официант обслуживает гостя напрямую, и гость может попросить официанта сказать, что я хочу лапшу с песчаным чаем. (appклиент позвонилapiСлужитьloginинтерфейс)
  • Шеф-повар обслуживает обслуживающий персонал.Получив заказ от клиента, он сказал шеф-повару попросить лапшу с песчаным чаем. (apiСлужитьloginинтерфейс называетсяrpcСлужитьloginинтерфейс)
  • Шеф-повар готовит лапшу из песочного чая и передает ее официанту, который затем обслуживает гостей. На этом заказ услуги завершен. (rpcСлужитьloginИнтерфейс отвечает после обработки данныхapiСлужитьloginинтерфейс,apiСлужитьloginответ интерфейсаappЗвонок клиента, авторизация прошла успешно)

На этом сервисный вызов завершен.

управление питаниемfoodmanageТо же самое справедливо. Существующее понимание этого уровня может лучше понять структуру проекта для новичков.

создание проекта

существуетCodingСоздайте проект в , выберитеDevOpsшаблон, названныйFoodGuides

file

существуетFoodGuidesВ проекте выберите репозиторий кода, создайте новый репозиторий кода, назовите егоFoodGuides

существуетFoodGuidesВ проекте выберите управление продуктами - склад продуктов, создайте новый склад продуктов, введите выборDocker, наименование адреса складаdockerimages.

file

существуетFoodGuidesВ проекте выберите репозиторий кода и скопируйте его в настройках репозиторияgitадрес,cloneк местному.

cdвFoodGuides

go mod init FoodGuides

существуетFoodGuidesСоздайте две папки

mkdir -p usermanage & mkdir -p foodmanage

Таким образом, мы изначально завершили создание проекта.

Предыдущий «Учебник по переходу на ноль — загрузка инструмента и создание среды»

Следующая статья «Учебное пособие по переходу на ноль — шлюз API для управления пользователями»