Java微服务开发与Spring数据JPA基础
在构建微服务时,有几个关键问题需要考虑:
1. 工具选择 :如果服务数量少且用例简单(基本是简单业务逻辑和CRUD操作),需考虑是否要使用Netflix OSS的工具,如Eureka、Ribbon、Feign、Zuul和Hystrix。
2. 服务边界 :如何定义服务边界?若边界过小、数量过多,能否基于功能合理合并部分服务。
3. 开发阶段 :处于哪个开发阶段?需更关注产品工程、基础设施管理,还是应用程序的扩展。
4. 新技术接纳 :是否准备好接纳新的技术,如WebSockets、RSocket和GraphQL。
不同Java框架构建微服务
新一代Java框架可将完整的Web应用轻松打包到自运行的JAR文件中,这是从重量级J2EE容器到轻量级小型版本的革命性转变。以下是一些常用的Java框架:
| 库 | 使用场景 | 工具示例 |
| — | — | — |
| 日志 | 分布式服务的集中日志管理 | Spring Sleuth、ELK(ElasticSearch、Logstash、Kibana)、Splunk |
| 断路器 | 通过备用端点避免服务间调用的持续失败 | Netflix Hystrix、Resilience4j、Sentinel |
| API网关 | 作为入口点,处理安全、URL命名等问题 | Zuul、Nginx、云提供的API网关 |
| 文档 | 服务版本、字段描述和依赖关系
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



