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

OSCHINA-MIRROR/liuyieyer-eyer

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
Readme.md

Пример простого сервиса (одиночный вариант)

public class TestServer {
    public static void main(String[] args) throws IOException {

        NioConfig.registered(new KryoSerializer());
        final ServerHandler handler = new ServerHandler();
        NioConfig.registered(handler);
        NioConfig.initSessionHandler();
        // Необходимые экспортированные службы и соответствующие реализации
        handler.services.put(UserService.class, new RemoteUserService());
        Server server = new Server(new InetSocketAddress("0.0.0.0", 6161), new Acceptor("acceptor-1", new ReactorPool(1)));

    }
}

Управление службами с помощью прокси-клиента

public class ProxyClientTest {
    public static void main(String[] args) throws Exception {
        NioConfig.registered(new KryoSerializer());
        final Handler invocationHandler = new ClientHandler();
        NioConfig.registered(invocationHandler);
        NioConfig.registered(new Connector("connector", new ReactorPool(1)));
        NioConfig.initSessionHandler();

        URL url = new URL();
        url.setHost("localhost");
        url.setPort(6161);
        Invoker invoker = new SimpleInvoker(url, 50);

        ProxyClient proxyClient = new ProxyClient(invoker);
        final AtomicLong counter = new AtomicLong(0);
        UserService userService = proxyClient.refService(UserService.class);
        userService.save(new User());
        proxyClient.close();
    }
}

Пример простого сервиса (версия с использованием центра регистрации в режиме кластера)

Кластерная версия использует ту же модель, что и Dubbo, основанную на центре регистрации без состояния. Можно сказать, что это упрощённая версия Dubbo.

public class ZookeeperServer {

    public static void main(String[] args) throws IOException {

        NioConfig.registered(new KryoSerializer());
        final ServerHandler handler = new ServerHandler();
        NioConfig.registered(handler);
        NioConfig.initSessionHandler();
    }
}
``````markdown
## Клиент ZooKeeper

```java
ZooKeeperClient zooKeeperClient = new DefaultZookeeperClient("192.168.1.66:2181");
String format = "/eyer/" + URLEncoder.encode(String.format("rpc/%s:%d/Services", "localhost", 6161), "UTF-8");
zooKeeperClient.create(format, true);

Услуги клиента

public class ZookeeperClient {
    public static void main(String[] args) throws Exception {
        NioConfig.registered(new KryoSerializer());
        final Handler invocationHandler = new ClientHandler();
        NioConfig.registered(invocationHandler);
        NioConfig.registered(new Connector("ZookeeperProxyServicePerf-connector-1", new ReactorPool(1)));
        NioConfig.initSessionHandler();

        Invoker invoker = new ZookeeperInvoker("192.168.1.66:2181", new PollingBalance(), 50);
        ProxyClient proxyClient = new ProxyClient(invoker);

        UserService userService = proxyClient.refService(UserService.class);
        System.out.println(save); // Непонятная переменная save
        clientProxy.close();      // Непонятная переменная clientProxy
    }
}

Комментарии ( 0 )

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

Введение

С использованием пакета java nio написать RPC. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/liuyieyer-eyer.git
git@api.gitlife.ru:oschina-mirror/liuyieyer-eyer.git
oschina-mirror
liuyieyer-eyer
liuyieyer-eyer
master