When it comes to enterprise applications , We have to talk about distribution 、 Low coupling 、 modularization 、 Service oriented 、 Scalability and so on . Earlier technologies were CORBA and EJB, And then there are WebService and MDB. But these technologies are not learning 、 The high threshold of development is not so lightweight . I can't remember now 10 When I went to an interview years ago , Anything people ask me about EJB (EJB2) The problem of , We can see how confusing it is for beginners . as for CORBA, Not to mention , I didn't check the information about it until I wrote my postgraduate thesis later , I can't remember it now . With Web The progress of technology and the emergence of a large number of mobile applications , People tend to be lighter 、 Easy to deploy based on HTTP Of RESTful service , This service is not in the traditional sense WebService, It's solo HTTP Request and response , The corresponding form is mainly structured documents , Such as XML and JSON, The latter is especially true . such HTTP Services are separated from a specific technical framework , Good compatibility , Whether it's BS The structure is still CS structure , Whether it's PC On the Internet or on the mobile client , You can enjoy the convenience of this technology .

timely ,Node.js The emergence of this technology trend to the peak , On the one hand, people can google Under the halo of a new technology 、 An attempt at architecture , because node.js It's using google Of javascript v8 engine ,google In the browser short invincible and good reputation to those who choose technology or architecture this best confidence or excuse , Instead of trying to convince the boss or other people's concerns ; On the other hand ,JavaScript Technology in BS The system is very popular, which provides a good soil for its application in the server , People don't have to write traditional Java The server-side program also needs to define interfaces and classes , Create objects , It's more about enjoying the benefits of the randomness of the language . Of course , I'm not here to say JavaScript We don't need good design in this room , contrary , make the best of JavaScript The various features of language are well separated 、 Encapsulation can better reflect the power of the language , This is on all kinds of clients JavaScript The framework has been validated . Besides, I have to mention ,JavaScript The development and development of the server MongoDB The rise of the Internet NoSQL Databases are inseparable , After all, it saves a lot of people from using JavaScript The trouble with persistence .

People in this side room are scrambling to JavaScript close , Abandon all kinds of application servers , Adopt... In succession node.js, What's more LinkedIn The success story of the first .Java The anxiety and urgency of the community can be imagined , Uncertainty about the future and direction is spreading among developers . Need to know Java The community has never been a lonely group , With its strong foundation and intensive cultivation in various fields , Provide a similar or even beyond node.js Our solution is just around the corner . At the moment of hesitation and doubt ,VERT.X Hengkong was born , One action Jax 2014 The best Java Innovation Awards .VERT.X With Netty NIO Based on , Implemented in the JVM Event callback mechanism in . For the traditional Java For programmers , Although it means a change in the way we program , But programming them for events , Multitasking parallel processing based on thread provides a good programming model , Avoid the trap of multithreading data synchronization . meanwhile , Thanks to the VERT.X The modular 、 Cluster deployment and HA, Separate existing systems from newly built ones HTTP Service module , It gives full play to Java The advantages of building a server , For example, using spring The traditional business layer and persistence layer of the framework . Need to know ,Java The abundance of resources is JavaScript Far beyond comparison . and ,VERT.X adopt Rihon JavaScript (VERT.X 2.x) Equal engine , People have been allowed to choose the appropriate language to write programs according to business scenarios . In a word ,VERT.X Get through at one stroke HTTP The service delivery layer leads to the vast Java The road to the ocean of resources . But then JavaScript Speaking of ,JDK8 The realization of it is enough to give us a kind of confidence , That's it Oracle Official support , Enough to make VERT.X And node.js In the use of JavaScript Build a service balance . Undeniable? ,node.js It has a considerable scale , but VERT.X By virtue of its relationship with Java Our natural advantages are enough to make up for JavaScript The weakness of the class library . Need to know , Many systems today are based on Java Created , Abandon what you have Java System , use JavaScript stay node.js Redevelopment is not a big deal for an enterprise .

To make a long story short , use VERT.X It can ensure the rational use of existing resources , It can also meet the needs of different clients HTTP Rapid development of services , For enterprises , It's not a way to get the best of both . Later I'll explain my understanding of using VERT.X Build the architecture and design of enterprise applications .

Use VERT.X More articles on building distributed enterprise applications

  1. utilize Vert.x Build a simple API service 、 Distributed services

    At present, it has been used Vertx It's been more than a year , Although not much attainments , But it has also been promoted in the project : From the initial vertx build web service , To the project online operation , It's fairly stable . Later, I tried to build a model based on vertx Distributed services , All the way down also accumulate ...

  2. Use Vert.x structure Web Servers and messaging systems

    If you are right about Node.js Interested in ,Vert.x It could be your next big event : One is based on JVM The last similar enterprise system . This part introduces Vert.x It's through two hands-on examples ( be based on Vert.x 2.0). When Node.j ...

  3. Netty Building a distributed message queue (AvatarMQ) Structure of Design Guide

    Distributed message queuing system is popular in the industry ( Or it can be called message middleware ) A wide variety , such as , be based on Erlang Of RabbitMQ. be based on Java Of ActiveMQ/Apache Kafka. be based on C/C++ Of ZeroMQ wait ...

  4. Netty Analysis of the principle of constructing distributed message queue

    In my last blog post :Netty Building a distributed message queue (AvatarMQ) Structure of Design Guide   in , I'll focus on AvatarMQ The main modules and the advantages and disadvantages of the existing . Finally, as a producer . Examples of consumers delivering messages , ...

  5. be based on Dubbo Framework building distributed services ( One )

    Dubbo yes Alibaba Open source distributed service framework , We can go through it very easily Dubbo To build distributed services , And according to their own actual business application scenarios to choose the appropriate cluster fault-tolerant mode , This is an urgent need for many applications , Just by simple matching ...

  6. be based on Dubbo Framework building distributed services

    Dubbo yes Alibaba Open source distributed service framework , We can go through it very easily Dubbo To build distributed services , And according to their own actual business application scenarios to choose the appropriate cluster fault-tolerant mode , This is an urgent need for many applications , Just by simple matching ...

  7. Redis Building distributed locks

    1. Preface Why build locks ? Because building appropriate locks can keep the consistency of data under high concurrency , That is, when the client executes a coherent command, the locked data will not be changed by other clients and errors will occur . At the same time, it can ensure the success rate of command execution . Seeing this, you can't help but ...

  8. selenium combination docker Build a distributed test environment

    selenium Is currently the web and app The main framework of automated testing . about web For automated testing , because selenium2.0 in the future socker The server is started by the local browser itself and directly through the browser API Operation page , So more and more ...

  9. [ Reprint ] be based on Dubbo Framework building distributed services

    Reprinted from http://shiyanjun.cn/archives/1075.html Dubbo yes Alibaba Open source distributed service framework , We can go through it very easily Dubbo To build distributed services , And according to their actual business ...

Random recommendation

  1. Read an article TPCx-BB( Big data benchmarking tools ) Source code

    TPCx-BB It's a big data benchmark tool , It does this by simulating the retailer's 30 Application scenarios , perform 30 A query to measure based on Hadoop The performance of big data system includes hardware and software . Some of these scenarios also use machine learning algorithms ( clustering . Linear regression, etc ). in order to ...

  2. [C#] analyse AssemblyInfo.cs - Learn about common features Attribute

    analyse  AssemblyInfo.cs - Learn about common features Attribute [ Blogger ] Anti bony boy [ original text ]http://www.cnblogs.com/liqingwen/p/5944391.html order ...

  3. js Get the height of the visible area of the web screen

    document.body.clientWidth ==> BODY Object width document.body.clientHeight ==> BODY Object height document.document ...

  4. Android UI Drawing process analysis ( Two )onMeasure The process

    Preface View The drawing process is divided into measure.layout.draw Three steps , Next, the three steps are studied one by one . measure Method signature public final void measure(int w ...

  5. TI CC2541 Of GPIO Pin settings .

    P1SEL register , 0xF4, It's for function selection , 0 Express GPIO mouth , 1 Represents peripherals .

  6. grunt Build a development environment for front-end Automation

    I don't say much nonsense . Go straight to the theme . 1. install node. Don't ask why . If you don't know , You still don't know . Don't ask how to install , Go to Baidu by yourself . 2. install grunt_CLI. installed node, And the installation was successful , after . download grunt_ ...

  7. String Some of the details of

    String Constant pool problem (1) String constant "+" Connection No , At compile time, the value of the string constant is determined , take "a" + 1 Come on , After compiler optimization, in class It's already a1. ...

  8. Android Apply suicide and kill other processes

    // commit suicide ( This way you can only kill your own process , Other processes cannot kill ) int pid = Process.myPid(); android.os.Process.killProcess(pid); // perhaps ...

  9. C++ keyword (1)——const

    1. const Modify ordinary variables and pointers const Modifying variables , There are generally two ways of writing : const TYPE value; TYPE const value; The two ways of writing are essentially the same . It means :const modification ...

  10. PHP: Browser, Operating System (OS), Device, and Language Detect

    https://github.com/sinergi/php-browser-detector Device.php: <!DOCTYPE html> <html> <h ...