我一直在研究并尝试使用Reactor和RxJava进行编码的Reactive Style.我确实理解,与单线程执行相比,反应式编码可以更好地利用CPU.
在基于Web的应用程序中,反应式编程与命令式编程之间是否有任何具体比较?
通过对非反应式编程使用反应式编程,我实现了多少性能提升和吞吐量?
还原反应编程有哪些优缺点?
有没有统计基准?
java reactive-programming project-reactor microservices rx-java2
我正在尝试构建messanger应用程序.
我要从MessageResource调用CommentResource.
我想要单独的MessageResources和CommentResources.
我正在做这样的事情:
MessageResource.java
@RestController
@RequestMapping("/messages")
public class MessageResource {
MessageService messageService = new MessageService();
@RequestMapping(value = "/{messageId}/comments")
public CommentResource getCommentResource() {
return new CommentResource();
}
}
Run Code Online (Sandbox Code Playgroud)
CommentResource.java
@RestController
@RequestMapping("/")
public class CommentResource {
private CommentService commentService = new CommentService();
@RequestMapping(method = RequestMethod.GET, value="/abc")
public String test2() {
return "this is test comment";
}
}
Run Code Online (Sandbox Code Playgroud)
我想要
HTTP://本地主机:8080 /消息/ 1 /评论/ ABC
返回"这是测试评论".
任何的想法??
PS:简单来说,我想知道JAX-RS sub-resource相应的实现spring-rest
如何使用 TypeOrm 创建连接池?在探索 TypeOrm 时,我想创建连接池以使用 MySql
下面是代码片段:
import { createConnection } from 'typeorm';
export const databaseProviders = [
{
provide: 'DbConnectionToken',
useFactory: async () => await createConnection({
type: 'mysql',
host: 'localhost',
port: 8889,
username: 'root',
password: 'root',
database: 'typeorm_test',
entities: [
__dirname + '/../**/**.entity{.ts,.js}',
],
autoSchemaSync: true,
logging: 'all',
}),
},
];
Run Code Online (Sandbox Code Playgroud) 我读过几篇文章,展示了如何解决 JPA 中的 n+1 查询问题,但没有一篇对我有用。
当我尝试获取数据时,JPA 会进行 n+1 次查询。
select owner0_.id as id1_1_, owner0_.created_at as created_2_1_, owner0_.updated_at as updated_3_1_, owner0_.name as name4_1_, owner0_.version as version5_1_ from owner owner0_
select cars0_.owner_id as owner_id6_0_0_, cars0_.id as id1_0_0_, cars0_.id as id1_0_1_, cars0_.created_at as created_2_0_1_, cars0_.updated_at as updated_3_0_1_, cars0_.license_no as license_4_0_1_, cars0_.owner_id as owner_id6_0_1_, cars0_.version as version5_0_1_ from car cars0_ where cars0_.owner_id=? [1]
select cars0_.owner_id as owner_id6_0_0_, cars0_.id as id1_0_0_, cars0_.id as id1_0_1_, cars0_.created_at as created_2_0_1_, cars0_.updated_at as updated_3_0_1_, cars0_.license_no as license_4_0_1_, cars0_.owner_id as …Run Code Online (Sandbox Code Playgroud) 我是docker和微服务的新手.我已经开始将我的网络应用程序分解为微服务,目前,我正在进行手动配置.
经过一番研究,我遇到了docker swarm模式,它允许发现服务.此外,我遇到了其他服务发现工具,如Eureka和Consul.
我的主要目标是将curl调用中的IP地址替换为服务名称和同一服务的多个实例之间的负载平衡.
即对于前者 curl http://192.168.0.11:8080/卷曲http:// my-service
我必须保持我的服务语言独立.
请建议,我是否需要使用Consul与docker swarm进行服务发现,或者我可以在没有Consul的情况下进行此操作?有什么好处?
我已经使用kops启动了kubernetes集群。查找工作正常,我开始遇到以下问题:
kubectl get pods
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Run Code Online (Sandbox Code Playgroud)
我该如何解决?看来kubernetes-apiserver没有运行,我该如何运行?
kubectl run nginx --image=nginx:1.10.0
error: failed to discover supported resources: Get http://localhost:8080/apis/apps/v1beta1?timeout=32s: dial tcp 127.0.0.1:8080: connect: connection refused
Run Code Online (Sandbox Code Playgroud)
请建议
创建docker服务时,我面临以下错误。 from daemon: rpc error: code = 2 desc = name conflicts with an existing object
脚步
docker-machine create --driver virtualbox swarm-1
docker-machine create --driver virtualbox swarm-2
docker-machine create --driver virtualbox swarm-3
eval $(docker-machine env swarm-1)
docker swarm init --advertise-addr $(docker-machine ip swarm-1)
docker-machine ssh swarm-2
docker swarm join <token> and IP
docker-machine ssh swarm-3
docker swarm join <token> and IP
docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
hdip26vwi9xvr131u1rr7yeia swarm-3 Ready Active
v7e56wf0j7fhkarnqsp5c32qo swarm-2 Ready Active
yjv3r4r4ls4qx47jnm0yov06u * …Run Code Online (Sandbox Code Playgroud) 我正在编写我的第一个 Spring Boot 应用程序。运行以下命令时我收到异常。
spring init --build maven --groupId com.redhat.examples\ --version 1.0 --java-version 1.8 --dependencies web\ --name hola-springboot hola-springboot
java.lang.IllegalArgumentException: Only the target location may be specified
at org.springframework.util.Assert.isTrue(Assert.java:68)
at org.springframework.boot.cli.command.init.InitCommand$InitOptionHandler.createProjectGenerationRequest(InitCommand.java:218)
at org.springframework.boot.cli.command.init.InitCommand$InitOptionHandler.generateProject(InitCommand.java:209)
at org.springframework.boot.cli.command.init.InitCommand$InitOptionHandler.run(InitCommand.java:189)
at org.springframework.boot.cli.command.options.OptionHandler.run(OptionHandler.java:84)
at org.springframework.boot.cli.command.OptionParsingCommand.run(OptionParsingCommand.java:54)
at org.springframework.boot.cli.command.CommandRunner.run(CommandRunner.java:219)
at org.springframework.boot.cli.command.CommandRunner.runAndHandleErrors(CommandRunner.java:171)
at org.springframework.boot.cli.SpringCli.main(SpringCli.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:58)
Run Code Online (Sandbox Code Playgroud) 如何使用 kops 恢复 kubernetes 集群?我的 s3 存储桶中有 kubernetes 状态文件。
有没有办法使用kops恢复kubernetes集群?
我有两个微服务,
这两个都是在本地主机上运行的'eureka-server'注册的DiscoveryClient:8761。
在下面的代码片段中,我尝试从eureka-client-1调用eureka-client-2。我不想调用http:// localhost:8082,而是要调用http:// eureka-client-2,但这会在Eureka服务发现期间引发java.net.UnknownHostException。
搜索之后,我发现我需要使用“ Brixton”来完成它。
有没有办法使用Camden.SR3?
请提出建议。
@Component
public class HystrixDemoService {
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
@HystrixCommand(fallbackMethod = "getFallbackCustomerName")
public String getCustomerName() {
RestTemplate restTemplate = new RestTemplate();
URI uri = URI.create("http://eureka-client-2"); // fails here
return restTemplate.getForObject(uri, String.class);
}
public String getFallbackCustomerName() {
System.out.println("coming inside fallback method");
return "Resillient Customer";
}
}
Run Code Online (Sandbox Code Playgroud)
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo-pranay-eureka-client1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> …Run Code Online (Sandbox Code Playgroud) java ×5
spring ×3
spring-boot ×3
devops ×2
docker ×2
docker-swarm ×2
kops ×2
kubernetes ×2
spring-mvc ×2
boot2docker ×1
consul ×1
javascript ×1
jpa ×1
kubectl ×1
mysql ×1
redis ×1
rest ×1
rx-java2 ×1
typeorm ×1
typescript ×1