[TOC] ## 一、分布式锁 ```java /** * 代替jdk的synchronized和Lock */ @Autowired private DistributedLock lock; ​ public void test() {    String key = "lockKey";    try {        boolean isLock = lock.lock(key);        if (isLock) {            // 此处是业务代码       } else {            throw new LockException("lock overtime");       }   } finally {        lock.releaseLock(key);   } } ``` &nbsp; ## 二、分布式id生成器 ```java //生成long型id long id = IdGenerator.getId(); //生成String型id String id = IdGenerator.getIdStr(); ``` &nbsp; ## 三、分布式事务 ### 3.1. 同步强一致性 基于`tx-lcn`应用例子可看`zlt-demo\txlcn-demo`工程 ### 3.1. 异步最终一致性 基于`MQ`应用例子可看`zlt-demo\rocketmq-demo\rocketmq-transactional`工程 &nbsp; ## 四、分库分表sharding-sphere 应用例子可看`zlt-demo\sharding-jdbc-demo`工程 &nbsp; ## 五、消息队列 ### 5.1. 集成Spring-Cloud-Stream+RocketMQ 应用例子可看`zlt-demo\rocketmq-demo\rocketmq-produce`和`zlt-demo\rocketmq-demo\rocketmq-consume`工程 &nbsp; ## 六、搜索中心 ### 6.1. 启动好搜索中心服务端 参考 [扩展模块](https://www.kancloud.cn/zlt2000/microservices-platform/919420) 中的`搜索中心`章节 ### 6.2. 依赖`search-client`工程 需要搜索的服务需要依赖该工程 ### 6.3. 添加@EnableSearchClient注解 需要在启动类或者配置类中添加该注解,开启搜索中心功能 ### 6.4. 使用通用搜索 注入`com.central.search.client.service.IQueryService` **可参考SysUserController类中用户搜索的写法** ```java @GetMapping("/users/search") public PageResult<JSONObject> search(SearchDto searchDto) { searchDto.setIsHighlighter(true); searchDto.setSortCol("createTime"); return queryService.strQuery("sys_user", searchDto, SEARCH_LOGIC_DEL_DTO); } ``` &nbsp; ## 七、网关zuul动态路由 开启功能需要,修改`zuul`的配置文件 ```properties zlt.gateway.dynamicRoute.enabled=true ``` 详情查看:[Spring Cloud Zuul的动态路由怎样做?集成Nacos实现很简单](https://mp.weixin.qq.com/s?__biz=MjM5OTI2NDMwMg==&mid=2247483694&idx=1&sn=4bd9c5865f18f25dd3f38e1f0a9e8701&chksm=a73f686f9048e17903787b98dda5d5c74bb165c27b44a44887e23b6f534d3a54c3b6a13f1d3b&token=1502955171&lang=zh_CN#rd) &nbsp; ## 八、如何解决开发环境的服务冲突和实例乱窜 开启功能需要每个服务都添加以下配置,可以直接修改`zlt-config`下的`application-dev.properties`配置文件就可以全局生效 ```properties zlt.ribbon.isolation.enabled=true ``` 详情查看: * [Spring Cloud开发人员如何解决服务冲突和实例乱窜?](https://mp.weixin.qq.com/s?__biz=MjM5OTI2NDMwMg==&mid=2247483710&idx=1&sn=1a75206924bb4f94679318da2a61db1a&chksm=a73f687f9048e1693ad03bdf23cf7fbe1f6f1d4d5c0620812e6e5ac64d924b36ce554fbe72de&token=15037532&lang=zh_CN#rd) * [Spring Cloud开发人员如何解决服务冲突和实例乱窜?(IP实现方案)](https://mp.weixin.qq.com/s?__biz=MjM5OTI2NDMwMg==&mid=2247483717&idx=1&sn=9284d0f63a7f63d959d5fcfcd5fcc095&chksm=a73f68049048e1125482ec0cfff1066cad9d62b6f92aed2587957d39098a113df4c2a603a1e3&token=1758001159&lang=zh_CN#rd)