前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微服务的10个挑战和解决方案

微服务的10个挑战和解决方案

作者头像
MavenTalker
发布2019-07-19 10:29:54
6560
发布2019-07-19 10:29:54
举报
文章被收录于专栏:歪脖贰点零

作者:Rajiv Srivastava 翻译:mush 来源:http://mushiming.top/mushblog/archives/823

我是一名云API开发人员和架构师,目前正致力于为美国的大型零售客户提供基于Google GCP的微服务。

过渡/实施微服务给组织带来了重大挑战。基于我对生产中的微服务的曝光,我已经确定了这些挑战和解决方案。

我在2018年6月写这篇文章。目前,微服务架构尚未成熟到足以完全解决所有现有挑战,但是,开源社区和IT产品公司正试图解决所有这些未解决的问题。关于这一主题的所有新研究都是基于寻找新挑战的解决方案。

这些是微服务架构和提出的解决方案的十大挑战:

1.数据同步

– 我们使用事件源代码架构来使用异步消息传递平台解决此问题。传奇设计模式可以应对这一挑战。

2.安全性

– API网关可以解决这些挑战。Kong非常受欢迎,并且是开源的,并且正在被许多公司用于生产。还可以使用JWT令牌,Spring Security和Netflix Zuul / Zuul2为API安全性开发自定义解决方案。还有企业解决方案,如Apigee和Okta(两步认证)。Openshift用于公共云安全的顶级功能,如基于Red Hat Linux Kernel的安全性和基于命名空间的app-to-app安全性。

3.版本控制

– 这将由API注册表和发现API使用动态Swagger API处理,动态Swagger API可以动态更新并与服务器上的使用者共享。

4. 发现

– 这将由Kubernetes和OpenShift等API发现工具解决。它也可以在代码级使用Netflix Eureka完成。但是,使用业务流程层执行此操作会更好,并且可以通过这些工具进行管理,而不是通过代码和配置进行维护。

5.数据过期

应始终更新数据库以提供最新数据。API将从最近更新的数据库中获取数据。还可以为数据库中的每个记录添加时间戳条目,以检查和验证最近的数据。可以根据业务需求使用可定义的驱逐策略来使用和自定义缓存。

6.调试和记录

– 有多种解决方案。可以通过将日志消息推送到异步消息传递平台(如Kafka,Google PubSub等)来使用外化日志记录。客户端可以在标头中为REST API提供关联ID,以跟踪所有pod / Docker容器中的相关日志。此外,可以使用IDE或检查日志在每个微服务上单独完成本地调试。

7.测试

可以通过模拟REST API或集成/依赖API来解决此问题,这些API不可用于使用WireMock,BDD,Cucumber,集成测试,使用JMeter进行性能测试以及任何良好的分析工具(如Jprofiler)进行测试, DynaTrace,YourToolKit,VisualVM等

8.监控

– 监控可以使用开源工具,如Prometheus与Grafana结合使用,创建仪表和矩阵,Kubernetes / OpensShift,Influx DB,Apigee,结合Grafana和Graphite。

9. DevOps支持

使用最先进的DevOps工具(如GCP,Kubernetes和OpenShift与Jenkins)可以解决微服务部署和支持相关的挑战。

10.容错

– 如果给定SLA / ETA的API没有响应,Netflix Hystrix可用于断开电路。

Java的架构师历程

mush

专注于为java的工程师提供技术干货的文章平台,使其从小牛历练到大拿,在架构师的路上一路前行,共学习,共进步; 小程序中更多无广告优质文章,每月送书,欢迎关注!后台回复的Java技术关键字获取更多学习资源。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MavenTalk 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档