小编prr*_*nay的帖子

反应式编程优点/缺点

我一直在研究并尝试使用Reactor和RxJava进行编码的Reactive Style.我确实理解,与单线程执行相比,反应式编码可以更好地利用CPU.

在基于Web的应用程序中,反应式编程与命令式编程之间是否有任何具体比较?

通过对非反应式编程使用反应式编程,我实现了多少性能提升和吞吐量?

还原反应编程有哪些优缺点?

有没有统计基准?

java reactive-programming project-reactor microservices rx-java2

21
推荐指数
3
解决办法
1万
查看次数

Spring REST中的子资源

我正在尝试构建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

java rest spring-mvc spring-boot request-mapping

14
推荐指数
3
解决办法
9166
查看次数

创建连接池 TypeOrm

如何使用 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)

javascript mysql typescript typeorm

7
推荐指数
2
解决办法
2万
查看次数

JPA:即使在 FetchType.LAZY 之后 N+1 查询

我读过几篇文章,展示了如何解决 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)

java spring jpa spring-data-jpa

7
推荐指数
1
解决办法
149
查看次数

在不使用领事的情况下在码头工具中发现服务

我是docker和微服务的新手.我已经开始将我的网络应用程序分解为微服务,目前,我正在进行手动配置.

经过一番研究,我遇到了docker swarm模式,它允许发现服务.此外,我遇到了其他服务发现工具,如Eureka和Consul.

我的主要目标是将curl调用中的IP地址替换为服务名称和同一服务的多个实例之间的负载平衡.

即对于前者 curl http://192.168.0.11:8080/卷曲http:// my-service

我必须保持我的服务语言独立.

请建议,我是否需要使用Consul与docker swarm进行服务发现,或者我可以在没有Consul的情况下进行此操作?有什么好处?

service-discovery docker consul netflix-eureka docker-swarm

6
推荐指数
1
解决办法
1143
查看次数

Kubernetes:拨打TCP 127.0.0.1:8080:连接:连接被拒绝

我已经使用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)

请建议

kubernetes devops kubectl kops

6
推荐指数
1
解决办法
1万
查看次数

docker-来自守护程序的错误响应:rpc错误:代码= 2 desc =名称与现有对象冲突

创建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)

redis docker boot2docker microservices docker-swarm

5
推荐指数
1
解决办法
2921
查看次数

java.lang.IllegalArgumentException:只能指定目标位置

我正在编写我的第一个 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)

java spring spring-mvc spring-boot microservices

3
推荐指数
1
解决办法
1162
查看次数

如何使用kops恢复kubernetes集群?

如何使用 kops 恢复 kubernetes 集群?我的 s3 存储桶中有 kubernetes 状态文件。

有没有办法使用kops恢复kubernetes集群?

kubernetes devops kops

2
推荐指数
1
解决办法
3186
查看次数

eureka unknownHostException在服务发现中

我有两个微服务,

  1. 在本地主机上运行的eureka-client-1:8081
  2. 在本地主机上运行的eureka-client-2:8082

这两个都是在本地主机上运行的'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 spring service-discovery spring-boot netflix-eureka

1
推荐指数
3
解决办法
7709
查看次数