Solon Cloud 是一套分布式接口标准与配置规范。所有的服务接口都可以定制，且方式都一样（细节可以参考现有的适配插件）。以配置服务 CloudConfigService 为例：

### 1、了解接口

```java
/**
 * 分布式配置服务
 */
public interface CloudConfigService {
    /**
     * 拉取配置
     *
     * @param group 分组
     * @param name 配置名
     * @return 配置
     */
    Config pull(String group, String name);

    /**
     * 拉取配置
     *
     * @param name 配置名
     * @return 配置
     */
    default Config pull(String name){
        return pull(Solon.cfg().appGroup(), name);
    }

    /**
     * 推送配置
     *
     * @param group 分组
     * @param name 配置名
     * @param value 值
     * @return 是否成功
     */
    boolean push(String group, String name, String value);

    /**
     * 推送配置
     *
     * @param name 配置名
     * @param value 值
     * @return 是否成功
     */
    default boolean push(String name, String value) {
        return push(Solon.cfg().appGroup(), name, value);
    }


    /**
     * 移除配置
     *
     * @param group 分组
     * @param name 配置名
     * @return 是否成功
     */
    boolean remove(String group, String name);

    /**
     * 移除配置
     *
     * @param name 配置名
     * @return 是否成功
     */
    default boolean remove(String name){
        return remove(Solon.cfg().appGroup(), name);
    }

    /**
     * 关注配置
     *
     * @param group 分组
     * @param name 配置名
     * @param observer 观察者
     */
    void attention(String group, String name, CloudConfigHandler observer);
}
```


### 2、适配接口并注册

* 适配接口（对接自己的体系，或其它中间件）

```java
public class CloudConfigServiceImpl implements CloudConfigService{
   //...
}
```

* 注册适配类

通过 [插件扩展机制](/article/58) 进行服务注册

```java
public class XPluginImpl implements Plugin{
    @Override
    public void start(AppContext context) throws Throwable {
        CloudManager.register(new CloudConfigServiceImpl())
    }
}
```

或者在 启动时 进行服务注册

```java
public class App{
    public static void main(String[] args){
        Solon.start(App.class, args, app->{
            CloudManager.register(new CloudConfigServiceImpl());
        });
    }
}
```

