小编Dav*_*vid的帖子

使用Java和ReactJS服务器端渲染的微服务UI前端

我目前的设计是让客户端使用浏览器连接到我的(Java)Web API网关,Web API网关将调用每个(Java)微服务来获取他们的JSON数据并将其返回到在客户端上发出请求的UI组件.

唯一的客户端呈现将来自每个ReactJS UI组件,用于重复发送到网关的请求.

在服务器端,将在发送回客户端之前呈现完整的HTML视图.

Client browser

     ? (Request Dashboard View)

Web API Gateway

     ? (Request microservice JSON data)

Microservice A JSON Data
Microservice B JSON Data
Microservice C JSON Data
Microservice D JSON Data

     ? (Return JSON Data to gateway)

Web API Gateway

     ? (Render HTML and return to Client)

Client browser

     ? (ReactJS UI Components request data from API Gateway)
Run Code Online (Sandbox Code Playgroud)

这是不清楚的地方,是否最好让每个UI组件与Web API网关或它来自的微服务器进行通信以获取数据?

注意事项

  • 让UI组件与Web API Gateway通信似乎是合理的,但会将微服务耦合到网关,这意味着在微服务上公开新的API,网关也需要更新.
  • 让UI组件直接与其微服务通信以获取数据,这样就无需更新Web API网关,从而减少了它们的耦合.但是这会将微服务暴露给来自客户端浏览器的外部调用.

设计决策

  • 在API网关中具有UI组件创建UI整体,而不是让每个微服务负责其自己的UI组件.使用单片方法简化了解决方案,并且还避免了在客户端请求特定视图时必须聚合每个微服务UI组件的复杂性.

工具:

  • Java的
  • 犀牛
  • Dropwizard
  • ReactJS
  • 摇篮
  • 的WebPack …

java reactjs microservices server-side-rendering

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

JButton Image Icon不显示.png文件

我一直在寻找解决方案,并阅读一些与此问题相关的类似帖子但其中没有一个对我有用.

我正在尝试在JButton上显示图像"b.png",当我滚动按钮时图标会发生变化.

package GUI_JButton;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

public class Gui extends JFrame {

    private JButton reg;
    private JButton custom;

    public Gui() {
        super("Title goes here");
        setLayout(new FlowLayout());

        reg = new JButton("reg button"); // create reg button
        add(reg); // add reg button to JFrame

        // initialize images
        Icon b = new ImageIcon(getClass().getResource("images/imageA.png"));
        Icon x = new ImageIcon(getClass().getResource("images/imageB.png"));

        custom = new JButton("custom button", b); // create custom …
Run Code Online (Sandbox Code Playgroud)

java swing png embedded-resource imageicon

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

我应该删除.h文件中的char数组

如何buffer在Test.h中管理char数组?

Test.h

class Test{
public:
    Test();
    ~Test();

    char buffer[255];
};
Run Code Online (Sandbox Code Playgroud)

Test.cc

#include "Test.h"

Test::Test()
{
}

Test::~Test()
{
    // Do I need to delete/free buffer?
}
Run Code Online (Sandbox Code Playgroud)

我知道,当newmalloc正在使用的内存必须使用被释放deletefree().

char数组是否在buffer每个实例的堆栈上分配Test,因此不需要删除?

c++ arrays raii

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