1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/silentbalanceyh-vertx-zero

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
0-start-up.md 9.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 04:28 85b9559

Начало работы

Эта статья относится к новым учебным пособиям по Vert.x Zero Up Framework для разработчиков. Вы можете обратиться ко всем статьям, чтобы узнать, как использовать его в своём реальном проекте.

Прежде всего, вы должны знать, что такое Vert.x Zero Up Framework? Это фреймворк в среде сервисной сети, который позволяет разработчикам не вникать в детали микросервисов, но при этом они могут пройти через все этапы бизнес-разработки в этом фреймворке.

Все примеры будут помещены в подпроекты vertx-zeus.

В этой главе описывается, как запустить Zero Up.

1. Автономный Zero

Если вы используете Zero Up только в автономной среде, вы можете поместить следующий простой код в свою главную запись java.

package up.god;

import io.vertx.up.VertxApplication;
import io.vertx.up.annotations.Up;

@Up
public class io.god.Anchor {
    public static void main(final String[] args) {
        VertxApplication.run(io.god.Anchor.class);
    }
}

Затем вы можете запустить эту программу как Java-приложение. В консоли вы увидите некоторые логи:

......
[ ZERO ] ( Http Server ) ZeroHttpAgent Http Server has been started successfully. \n
    Endpoint: http://172.20.16.41:6083/.
......

Порт по умолчанию для HTTP-сервера — 6083.

2. Микро Zero

Кроме автономного режима, Zero также поддерживает другой режим (Микро), чтобы развернуть все узлы в микросервисной среде. Пожалуйста, будьте осторожны с микросредой, для поддержки микросервисов требуется дополнительная конфигурация для Zero. Сначала обратитесь к следующему руководству, чтобы выполнить подготовительные работы. Демо-проекты находятся в vertx-zeus:

  • Api Gateway — 6100: vertx-athena
  • Service — 6002: vertx-uranus

2.1. Конфигурация Api Gateway

В папке ресурсов вы должны подготовить следующие файлы конфигурации:

src/main/resources/vertx.yml
src/main/resources/vertx-etcd3.yml
src/main/resources/vertx-server.yml

vertx.yml

Файл vertx.yml должен содержать расширение lime node следующим образом:

zero:
  lime: etcd3      # Эта конфигурация необходима для среды микросервиса
  vertx:
    instance:
    - name: vx-zero
      options:
        # Исправить проблему с ограничением блока 2000.
        maxEventLoopExecuteTime: 30000000000

vertx-server.yml

Файл vertx-server.yml должен определять другой тип сервера для Api Gateway:

server:
- name: gateway-athena
  type: api        # Этот тип конфигурации отличается от службы по умолчанию.
  config:
    port: 6000
    host: 0.0.0.0

vertx-etcd3.yml

Файл vertx-etcd3.yml содержит информацию о конфигурации центра регистрации etcd3:

etcd:
  micro: zero-istio      # Убедитесь, что микро api/service одинаковы, тогда они смогут общаться.
  nodes:
  - host: localhost
    port: 6181
  - host: localhost
    port: 6180
  - host: localhost
    port: 6179
  timeout: 2

В Zero Framework используется e3w. Пожалуйста, обратитесь по ссылке, чтобы проверить, как подготовить e3w для запуска центра регистрации etcd3. https://github.com/soyking/e3w. Вы можете установить инструмент etcd3-viewer для управления данными etcd3 из веб-клиента: https://github.com/nikfoundas/etcd-viewer. В Zero порты по умолчанию для e3w были изменены на 6181, 6180, 6179.

2.2. Api Gateway

Исходный код Api Gateway такой же, как и у автономной службы:

package up.god;

import io.vertx.up.VertxApplication;
import io.vertx.up.annotations.Up;

@Up
public class io.god.Anchor {

    public static void main(final String[] args) {
        VertxApplication.run(io.god.Anchor.class);
    }
}

2.3. Конфигурация сервиса

Затем можно подготовить следующий сервисный узел Zero для поддержки микросреды и взаимодействия с шлюзом API.

src/main/resources/vertx.yml
src/main/resources/vertx-etcd3.yml
src/main/resources/vertx-server.yml

vertx.yml

Файл vertx.yml такой же, как у шлюза API, убедитесь, что имена экземпляров совпадают со шлюзом API. Опции:

  • Устранить проблему с ограничением блока 2000.

  • 
    

maxEventLoopExecuteTime: 30000000000


#### vertx-server.yml

`vertx-server.yml` up.god.file должен быть конфигурацией по умолчанию, вы можете установить порт для этого узла микросервиса.

```yaml
server:
- name: up-uranus
  type: http
  config:
    port: 6002
    host: 0.0.0.0

Здесь игнорируйте содержимое файла vertx-etcd3.yml up.god, потому что они одинаковы. Если вы поместите все узлы службы в одну среду, конфигурация всех узлов службы etcd3 должна быть одинаковой.

2.4. Сервис

Исходный код сервиса здесь такой же, как и в автономном режиме.

package up.god;

import io.vertx.up.VertxApplication;
import io.vertx.up.annotations.Up;

@Up
public class io.god.Anchor {

    public static void main(final String[] args) {
        VertxApplication.run(io.god.Anchor.class);
    }
}

3. Консоль в Micro Zero

После того как вы закончите настройку micro zero, вы сможете запустить micro zero. Поскольку шлюз API будет искать все узлы служб, это не повлияет на последовательность запуска всех узлов служб. Вы можете сначала запустить шлюз API, а затем узел службы, или вы также можете сначала запустить узел службы, а затем шлюз API.

3.1. Узел службы

Вы должны увидеть следующий вывод на консоли:

......
    [ Up Micro ] <Имя приложения> = «zero-istio»,
    [ Up Micro ] Путь конфигурации = /zero/zero-istio/endpoint/routes/up-uranus:172.20.16.41:6002,
    [ Up Micro ] Имя службы = up-uranus,
    [ Up Micro ] Конечная точка = http://172.20.16.41:6002
    [ Up Micro ] Маршрут Uris =
    [ Up Micro ]
    [ Up Micro ] √ Успешно зарегистрированные маршруты, подождите обнаружения... УСПЕХ √
......

3.2. Шлюз API

Вместо информации о автономном режиме вы должны увидеть следующие журналы в шлюзе API:

......
[ ZERO ] (Шлюз API) ZeroApiAgent (id = ae815cba-4016-43f5-9be2-71a4ee23247c) развёрнут на 6000.
[ ZERO ] ( Шлюз API ) ZeroApiAgent успешно запущен. Конечная точка: http://0.0.0.0:6000/.
......

Затем вы должны видеть следующие журналы каждые 3 секунды:

......
[ ZERO ] ( Discovery ) Записи ( добавлено = 0, обновлено = 1, удалено = 0 ) были обновлены!
[ ZERO ] ( Discovery ) Записи ( добавлено = 0, обновлено = 1, удалено = 0 ) были обновлены!
......

Вот некоторые отчёты шлюза API службе обнаружения.

4. Резюме

Здесь вы получаете начало для запуска zero, всего zero поддерживает два режима: Автономный & Micro. Микрорежим немного сложнее запустить, автономный режим очень прост в запуске. Теперь, когда вы закончили текущий учебник, вы должны знать:

  • Как написать код запуска в автономном / микро режимах
  • Как настроить микрорежим для шлюза API / узла службы
  • Как написать код запуска для шлюза API

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/silentbalanceyh-vertx-zero.git
git@api.gitlife.ru:oschina-mirror/silentbalanceyh-vertx-zero.git
oschina-mirror
silentbalanceyh-vertx-zero
silentbalanceyh-vertx-zero
master