From deae12762e0f6b8113c3d332bc44c605658b1642 Mon Sep 17 00:00:00 2001 From: xiongxiaoyang Date: Sun, 7 Jun 2020 16:02:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=BE=AE=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E9=9B=86=E6=88=90Sentinel=EF=BC=8C=E5=AE=9E=E7=8E=B0=E5=B0=8F?= =?UTF-8?q?=E8=AF=B4=E6=9C=8D=E5=8A=A1=E8=B0=83=E7=94=A8=E7=9A=84=E7=86=94?= =?UTF-8?q?=E6=96=AD=E9=99=8D=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../book/api/fallback/BookApiFallback.java | 57 +++++++++++++++++++ novel-common/pom.xml | 3 + .../src/main/resources/application-common.yml | 1 - novel-gateway/pom.xml | 5 ++ novel-home/pom.xml | 6 +- .../novel/home/feign/BookFeignClient.java | 5 +- .../feign/fallback/BookFeignFallback.java | 15 +++++ novel-home/src/main/resources/application.yml | 4 +- pom.xml | 20 +++++++ 9 files changed, 110 insertions(+), 6 deletions(-) create mode 100644 novel-book/book-api/src/main/java/com/java2nb/novel/book/api/fallback/BookApiFallback.java create mode 100644 novel-home/src/main/java/com/java2nb/novel/home/feign/fallback/BookFeignFallback.java diff --git a/novel-book/book-api/src/main/java/com/java2nb/novel/book/api/fallback/BookApiFallback.java b/novel-book/book-api/src/main/java/com/java2nb/novel/book/api/fallback/BookApiFallback.java new file mode 100644 index 0000000..72a7a87 --- /dev/null +++ b/novel-book/book-api/src/main/java/com/java2nb/novel/book/api/fallback/BookApiFallback.java @@ -0,0 +1,57 @@ +package com.java2nb.novel.book.api.fallback; + +import com.java2nb.novel.book.api.BookApi; +import com.java2nb.novel.book.entity.Book; +import com.java2nb.novel.book.entity.BookComment; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 小说微服务API接口降级处理类(服务提供端,默认降级处理) + * @author xiongxiaoyang + * @version 1.0 + * @since 2020/6/7 + */ +public class BookApiFallback implements BookApi { + @Override + public List queryBookByMinUpdateTime(Date minDate, int limit) { + return null; + } + + @Override + public List queryBookByIds(List ids) { + return new ArrayList<>(); + } + + @Override + public List listRank(Byte type, Integer limit) { + return null; + } + + @Override + public Book queryBookById(Long id) { + return null; + } + + @Override + public void addBookComment(Long userId, BookComment comment) { + + } + + @Override + public List listUserCommentByPage(Long userId, int page, int pageSize) { + return null; + } + + @Override + public List queryNetworkPicBooks(String localPicPrefix, int limit) { + return null; + } + + @Override + public void updateBookPic(String picUrl, Long bookId) { + + } +} diff --git a/novel-common/pom.xml b/novel-common/pom.xml index 5b9bc66..1d7078d 100644 --- a/novel-common/pom.xml +++ b/novel-common/pom.xml @@ -22,6 +22,9 @@ spring-cloud-starter-alibaba-nacos-config + + + io.springfox springfox-swagger2 diff --git a/novel-common/src/main/resources/application-common.yml b/novel-common/src/main/resources/application-common.yml index 5ea7cbb..bcae226 100644 --- a/novel-common/src/main/resources/application-common.yml +++ b/novel-common/src/main/resources/application-common.yml @@ -21,7 +21,6 @@ spring: feign: httpclient: enabled: true - #关掉mq的健康检查,防止某些没有用到mq的服务启动报错,个别服务如需mq监控,单独开启 management: health: diff --git a/novel-gateway/pom.xml b/novel-gateway/pom.xml index 9d8de25..5452737 100644 --- a/novel-gateway/pom.xml +++ b/novel-gateway/pom.xml @@ -40,6 +40,11 @@ spring-cloud-alibaba-sentinel-gateway + + com.alibaba.csp + sentinel-transport-simple-http + + diff --git a/novel-home/pom.xml b/novel-home/pom.xml index 7ecba48..7422839 100644 --- a/novel-home/pom.xml +++ b/novel-home/pom.xml @@ -23,12 +23,12 @@ - org.springframework.cloud - spring-cloud-starter-openfeign + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel org.springframework.cloud - spring-cloud-netflix-hystrix + spring-cloud-starter-openfeign diff --git a/novel-home/src/main/java/com/java2nb/novel/home/feign/BookFeignClient.java b/novel-home/src/main/java/com/java2nb/novel/home/feign/BookFeignClient.java index ca544f6..05b20f3 100644 --- a/novel-home/src/main/java/com/java2nb/novel/home/feign/BookFeignClient.java +++ b/novel-home/src/main/java/com/java2nb/novel/home/feign/BookFeignClient.java @@ -1,6 +1,7 @@ package com.java2nb.novel.home.feign; import com.java2nb.novel.book.api.BookApi; +import com.java2nb.novel.home.feign.fallback.BookFeignFallback; import org.springframework.cloud.openfeign.FeignClient; /** @@ -9,7 +10,9 @@ import org.springframework.cloud.openfeign.FeignClient; * @version 1.0 * @since 2020/5/28 */ -@FeignClient("book-service") + +@FeignClient(name = "book-service",fallback = BookFeignFallback.class) public interface BookFeignClient extends BookApi { + } diff --git a/novel-home/src/main/java/com/java2nb/novel/home/feign/fallback/BookFeignFallback.java b/novel-home/src/main/java/com/java2nb/novel/home/feign/fallback/BookFeignFallback.java new file mode 100644 index 0000000..cc1d9ab --- /dev/null +++ b/novel-home/src/main/java/com/java2nb/novel/home/feign/fallback/BookFeignFallback.java @@ -0,0 +1,15 @@ +package com.java2nb.novel.home.feign.fallback; + +import com.java2nb.novel.book.api.fallback.BookApiFallback; +import com.java2nb.novel.home.feign.BookFeignClient; +import org.springframework.stereotype.Service; + +/** + * 小说Feign客户端降级处理类(服务消费端,自定义降级处理) + * @author xiongxiaoyang + * @version 1.0 + * @since 2020/6/7 + */ +@Service +public class BookFeignFallback extends BookApiFallback implements BookFeignClient { +} diff --git a/novel-home/src/main/resources/application.yml b/novel-home/src/main/resources/application.yml index 26ec507..acd468d 100644 --- a/novel-home/src/main/resources/application.yml +++ b/novel-home/src/main/resources/application.yml @@ -1,4 +1,6 @@ spring: profiles: include: [common] - +feign: + sentinel: + enabled: true diff --git a/pom.xml b/pom.xml index fed144d..256e6ec 100644 --- a/pom.xml +++ b/pom.xml @@ -40,6 +40,7 @@ 1.8 Hoxton.SR4 2.1.0.RELEASE + 2.2.0.RELEASE 0.2.2.RELEASE 2.7.0 true @@ -123,6 +124,23 @@ ${novel-author-api.version} + + + org.springframework.cloud + spring-cloud-openfeign-dependencies + ${openfeign.version} + pom + import + + @@ -142,6 +160,8 @@ + + io.springfox