I can think of several situations where nginx modules must be used for development:
1 http access
2 High requirements for link management
3 High concurrency
Are there other situations?
In addition, I feel that as long as modules with high performance requirements are basically modified to open source, am I narrow-minded? When it comes to changing to open source, everyone has planned it for a long time, and how many people are just trying their best? Or is it better to learn now and sell now, and the company is willing to train more people?
If there are existing modules that can be done easily, try to use them directly. If you develop it yourself, subsequent version maintenance will be relatively expensive.
It would be a better result if the improvement submission could be merged into the upstream official.
In addition, unless you have considered various solutions and feel that you must develop a new module, it is likely that someone has already met the same requirement.
You can refer to the following Tengine, an extension of nginx made by the Taobao team.