Some recent harvest finishing work, do memo

1, Redis and build simple applications, without making in-depth study, simple, about the current situation as a cross-server Session use, due to the project, the project failed in large-scale applications, involves the transformation of the old project cost and code too high.

2, MQTT, based on the message subscription and publishing mechanism MQTT, is a very interesting idea, but also in the practical application of the project;

3, Nginx, there is a demand, need the same server webSocket and https using the same port, use HaProxy life and death can not do, when using the TCP protocol four, can not pass the customer's real IP address to the back-end through, not using HTTPS automatic identification, then use the HTTPS mechanism NGINX, the perfect realization.

4, re-engineered pre-release file system monitoring, SQL scripts, batch execution multi-server, multi-server load balancing code is a key release; in six months time, the repeated verification, has been basically perfect, defect-free, no BUG, ​​remain for a long time Stable operation;

5, further understanding of LINQ, EF frame; a deeper understanding;

6, SQL, stored procedures written application than in the past more and more perverted scenes, more complex, on their own can be considered a supplement to inadequate;

7, knowledge of the code written by different people, the design ideas of the system, there are advantages there are bad;

8, the past six months, due to the reasons for the existing network infrastructure system, mainly based on stored procedures written, but there are very large complex business systems, about half a year the system will understand about 50%; but when the past six months, has often faced after numerous sub-optimized stored procedures, queries and code optimization summarize some experience, do a little description, notes,

    A: SQL SERVER track manager, used to find the number of reads to read over many (usually not take the index, can be seen through a message in the table scan), or more than X seconds du execution time of the stored procedure, use to find out SQL query analyzer for analysis, and to find supplemental index.

    B: give priority to the new index to optimize the existing index, consider the case compatible with the existing index;

    C: multi-column index of the scene before and after the indexed sequential query decide whether to take an index, ascending descending index columns, although it can not reflect the reduction in the number of scans or reads, but indeed sometimes can be very significantly improved query speed;

    D: The query method correct the unreasonable, for example, stored in the same procedure, the results of time-consuming, repeated queries; reduced to 1;

    E: Use code unreasonable cycle, with one case, query data No. 1 to No. 30, in the cycle call a stored procedure 30 times; the implementation of nearly 60 seconds; changed to directly query the range 1-30, once query results to get all the targets, and then the data is processed in the program code, packets, takes reduced to 5 seconds.

    F: SQL where previously little used: Select * Into #temp from ...; update table_1 set x = 1 output Insert.ID Into #Temp; and so on; the next will continue to learn;

    G: in previous projects rarely, rarely used multi-table joint inquiry scenes, and business, design tables are related, basically all existing systems such structure; indeed reduce joint inquiry queries, can effectively reduce significantly query time-consuming, but business design is too complicated, the basic architecture is also designed not; too many sub-libraries, often involving cross-database, do cross-database transaction is a hassle.

9, start learning to use redmine manage the project schedule; want to make work more scientific; face different challenges, as well as airborne this matter, plus the complexity of existing systems and services, hoping to gradually sort out, this scenario can borrow their own life experiences . Face different difficulties, constantly thinking about solutions to difficult, more practice, more reflection.

Other subsequent refilling;

 

Finishing a little usual thoughts, and hope to have the opportunity to practice things:

1, want to do their own set of distributed gateway, and comes with API documentation, into the reference check, signature verification, support for inter-service call, the application of the call, call external services; support for distributed back-end service code, a program to do automatic load hot update; priority development gateway system based on .NET Core under;

2, trim and re-learning micro-service architecture;

3, with good redis, with live MQTT; or develop their own set based on webSocket publish, subscribe system; in most scenarios, you can use webSocket instead of TCP;

4, complex thinking framework of the existing system, under the conditions permit, gradually transformed into a variety of programs infinitely scalable distributed systems, I believe there may be opportunities, or have the right inspiration, to go in that direction; mainly the amount of code, the number of stored procedures, the number of tables, and the last table design unreasonable, complicated business, but historical issues, although it is difficult to resolve, or the need to constantly think of ways.

Other thought to write it.

Guess you like

Origin www.cnblogs.com/soleds/p/11391825.html