Thoughts on the micro-architecture technology services

If I design the technical architecture I would like this design, I hope you have different ideas and I can discuss.

The request should first hit the Nginx bastion host (pulling operation docker mirror, should also need to run some scripts arranged corresponding to the production environment) and then based on some random way hash polling address or client requests falling on tomcat , that is built springboot tomcat above, providing the web service should run jar or war package .web service micro injected from each distributed services node provides eureka registration centers. If you are using micro dubbo Services from each distributed node provides zk registration centers. Configuring the cluster model should at least get through ssh login-free secret between nodes

Front and rear ends data exchange using basic http request to do json data exchange basic enough, some documents types of transmission can be used to provide a copy of the cluster mongodb document upload and download services. Do distributed cache using redis provide the necessary services (whether or not require the use of cluster model? Redis distributed Daniel and designers go from here). Distributed transactions can design and use local message table or use messaging middleware. Docker middleware using access methods provide a corresponding socket, spring intermediate the integration of these materials were consistent properties.
Micro service reads the socket address configuration using springcould center or zk provide configuration file can be read mode. Configuration files and source code should create separate files in a git repository folder for separation. springcould configuration center needs to provide socket access methods are message-oriented middleware (cluster) of. If a docker provides rabbitmq messaging services you do not need to concern erlong installation. For persistent mysql database I do not know whether you need to use docker run such a container, because the container is running lose data. The data volume of learning take some effort. Spend more effort should be to provide docker cluster middleware services, although there is a direct mirror image of the cluster, but if you do not know the classic cluster configuration follow-up will bring a lot of problems.
Users and their privileges whether to use single sign-on module redis?
Process Audit module activiti or other technologies?
Whether this thread asynchronous processing requires quartz heavyweight framework?

Thinking bring multiple copies of data-based data backup tend to consume network bandwidth, and this backup process, if you want to ensure that the main from the same, then it must ensure the success of treatment issued by the master node from the task and inform the master node, the master node to be successful, the master long wait from a response node can increase the security of the data allows the user to feel impatient, the usual practice is to record log and from the node asynchronous processing, this time if asynchronous to the failure, the main from the data will be inconsistent. zk use paxos algorithm can guarantee strong consistency. Some general election algorithm does not come with the same strong features, but elected master node network by a number of factors fluency.
There are new ideas and then update. . .

Guess you like

Origin blog.51cto.com/12165865/2435716