Перед формальным созданием проекта нам также необходимо реорганизовать разделение между сервисами.
Я назвал проект как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
существуетFoodGuides
В проекте выберите репозиторий кода, создайте новый репозиторий кода, назовите егоFoodGuides
существуетFoodGuides
В проекте выберите управление продуктами - склад продуктов, создайте новый склад продуктов, введите выборDocker
, наименование адреса складаdockerimages
.
существуетFoodGuides
В проекте выберите репозиторий кода и скопируйте его в настройках репозиторияgit
адрес,clone
к местному.
cd
вFoodGuides
go mod init FoodGuides
существуетFoodGuides
Создайте две папки
mkdir -p usermanage & mkdir -p foodmanage
Таким образом, мы изначально завершили создание проекта.
Предыдущий «Учебник по переходу на ноль — загрузка инструмента и создание среды»
Следующая статья «Учебное пособие по переходу на ноль — шлюз API для управления пользователями»