jjzjj

microservices

全部标签

docker - 如果有多个微服务,我应该如何集成测试它们?

我正在学习微服务架构,但是现在有些迷茫。情况有4个项目是用golang编写的订单服务用户服务工具web(转发HTTP请求)orderService,userService,web通过grpc进行通信所有通过web的api请求转发到orderService或userServiceorderService和userService有自己独立的数据库它们都在docker容器中困惑当我想测试一个请求时,我必须执行以下步骤:cdorderServicegovenderupdate+vendorgobuildcduserServicegovenderupdate+vendorgobuildcdweb

docker - 如果有多个微服务,我应该如何集成测试它们?

我正在学习微服务架构,但是现在有些迷茫。情况有4个项目是用golang编写的订单服务用户服务工具web(转发HTTP请求)orderService,userService,web通过grpc进行通信所有通过web的api请求转发到orderService或userServiceorderService和userService有自己独立的数据库它们都在docker容器中困惑当我想测试一个请求时,我必须执行以下步骤:cdorderServicegovenderupdate+vendorgobuildcduserServicegovenderupdate+vendorgobuildcdweb

go - 抽象出 GO 中的持久层

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭5年前。Improvethisquestion因此,我对Go编程的世界还比较陌生,想知道社区在尝试抽象出持久层时认为什么是“最佳实践”。在DDD中,这通常是通过引入存储库来处理的,存储库将一组聚合暴露给应用层。我担心的是,我过于“习惯”地从面向对象设计的角度思考这些问题,并希望探索其他编程范例。这也是我第一次尝试开发微服务;这也是我希望让我的设计尽可能简单的部分原因。

go - 抽象出 GO 中的持久层

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭5年前。Improvethisquestion因此,我对Go编程的世界还比较陌生,想知道社区在尝试抽象出持久层时认为什么是“最佳实践”。在DDD中,这通常是通过引入存储库来处理的,存储库将一组聚合暴露给应用层。我担心的是,我过于“习惯”地从面向对象设计的角度思考这些问题,并希望探索其他编程范例。这也是我第一次尝试开发微服务;这也是我希望让我的设计尽可能简单的部分原因。

python - 从 Golang 调用 Python 任务

我一直在构建用于股票市场分析的大数据应用程序。每天大约5TB的记录。我使用Golang在Cassandra/MySQL中进行数据转换/计算和保存。但是Python有很好的数据分析类库Pandas、Spark等,但是多核处理没有简单的方法,而且需要很多时间。所以,我想在Golang中并发调用python数据分析任务。一种方法是直接执行命令行任务,但我认为应该有更具可扩展性的解决方案。也许有用于Golang和Python之间通信的库。我想也许我应该创建多个PythonFlask服务器并给它们分配任务。速度很重要,但我可以牺牲一些速度来获得简洁的解决方案。有任何想法吗?

python - 从 Golang 调用 Python 任务

我一直在构建用于股票市场分析的大数据应用程序。每天大约5TB的记录。我使用Golang在Cassandra/MySQL中进行数据转换/计算和保存。但是Python有很好的数据分析类库Pandas、Spark等,但是多核处理没有简单的方法,而且需要很多时间。所以,我想在Golang中并发调用python数据分析任务。一种方法是直接执行命令行任务,但我认为应该有更具可扩展性的解决方案。也许有用于Golang和Python之间通信的库。我想也许我应该创建多个PythonFlask服务器并给它们分配任务。速度很重要,但我可以牺牲一些速度来获得简洁的解决方案。有任何想法吗?

Golang Nats 订阅问题

我目前从事微服务架构方面的工作。在我将NATS插入我的项目之前,我想用它测试一些简单的场景。在一个场景中,我有一个简单的发布者,它通过在localhost:4222上运行的基本Nats服务器在for循环中发布100.000条消息。最大的问题是订阅者。当他收到30.000-40.000条消息时,我的整个main.go程序和所有其他go例程就会停止,什么也不做。我可以用ctrl+c退出。但发布者仍在继续发送消息。当我打开一个新终端并启动订阅者的一个新实例时,一切都再次运行良好,直到订阅者收到大约30000条消息。最糟糕的是,服务器上甚至没有出现一个错误,也没有日志,所以我不知道发生了什么。

Golang Nats 订阅问题

我目前从事微服务架构方面的工作。在我将NATS插入我的项目之前,我想用它测试一些简单的场景。在一个场景中,我有一个简单的发布者,它通过在localhost:4222上运行的基本Nats服务器在for循环中发布100.000条消息。最大的问题是订阅者。当他收到30.000-40.000条消息时,我的整个main.go程序和所有其他go例程就会停止,什么也不做。我可以用ctrl+c退出。但发布者仍在继续发送消息。当我打开一个新终端并启动订阅者的一个新实例时,一切都再次运行良好,直到订阅者收到大约30000条消息。最糟糕的是,服务器上甚至没有出现一个错误,也没有日志,所以我不知道发生了什么。

测试微服务?

我知道这个问题有点主观,但我不知道该怎么做。目前我正在使用Go+Go-kit编写一些微服务。我想以集成测试类型的方式测试这些微服务的端点,但我不确定如何去做。我唯一能想到的就是让shell脚本命中端点并检查响应。但这似乎是一种拼凑而不是真正明智的做法。我觉得应该有更好的方法来做到这一点。有人有什么建议吗? 最佳答案 端到端测试的另一种方法是Consumer-DrivenContract(疾控中心)。虽然进行一些端到端测试很有用,但它们也有一些缺点,例如:消费者服务必须知道如何启动提供者服务。这听起来像是不必要的信息,当服务数量开始增

测试微服务?

我知道这个问题有点主观,但我不知道该怎么做。目前我正在使用Go+Go-kit编写一些微服务。我想以集成测试类型的方式测试这些微服务的端点,但我不确定如何去做。我唯一能想到的就是让shell脚本命中端点并检查响应。但这似乎是一种拼凑而不是真正明智的做法。我觉得应该有更好的方法来做到这一点。有人有什么建议吗? 最佳答案 端到端测试的另一种方法是Consumer-DrivenContract(疾控中心)。虽然进行一些端到端测试很有用,但它们也有一些缺点,例如:消费者服务必须知道如何启动提供者服务。这听起来像是不必要的信息,当服务数量开始增