passenger 5.1.10 → 5.1.11
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG +18 -0
- data/Rakefile +20 -17
- data/bin/passenger-install-apache2-module +14 -11
- data/build/agent.rb +45 -18
- data/build/apache2.rb +32 -16
- data/build/basics.rb +29 -40
- data/build/common_library.rb +70 -54
- data/build/cxx_tests.rb +34 -43
- data/build/integration_tests.rb +10 -10
- data/build/misc.rb +6 -6
- data/build/node_tests.rb +1 -2
- data/build/oxt_tests.rb +7 -5
- data/build/packaging.rb +11 -441
- data/build/ruby_extension.rb +1 -1
- data/build/ruby_tests.rb +1 -2
- data/build/support/cplusplus.rb +6 -5
- data/build/support/cxx_dependency_map.rb +357 -833
- data/build/support/general.rb +23 -1
- data/build/test_basics.rb +3 -28
- data/dev/ci/tests/rpm/Jenkinsfile +68 -0
- data/dev/ci/tests/rpm/run +63 -0
- data/dev/ci/tests/source-packaging/run +1 -1
- data/dev/ci/tests/source-packaging/setup +1 -1
- data/doc/{Packaging.txt.md → Packaging.md} +0 -0
- data/resources/templates/apache2/deployment_example.txt.erb +2 -2
- data/resources/templates/apache2/multiple_apache_installations_detected.txt.erb +2 -2
- data/resources/templates/nginx/deployment_example.txt.erb +1 -1
- data/resources/templates/standalone/mass_deployment_default_server.erb +2 -2
- data/resources/templates/standalone/server.erb +2 -2
- data/src/agent/AgentMain.cpp +0 -4
- data/src/agent/Core/CoreMain.cpp +88 -5
- data/src/agent/Core/SpawningKit/Spawner.h +2 -1
- data/src/agent/Shared/Fundamentals/AbortHandler.cpp +1109 -0
- data/src/agent/Shared/Fundamentals/AbortHandler.h +63 -0
- data/src/agent/Shared/Fundamentals/Implementation.cpp +7 -0
- data/src/agent/Shared/Fundamentals/Initialization.cpp +614 -0
- data/src/agent/Shared/{Base.h → Fundamentals/Initialization.h} +23 -14
- data/src/agent/Shared/Fundamentals/Utils.cpp +127 -0
- data/src/agent/Shared/Fundamentals/Utils.h +46 -0
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +1 -1
- data/src/agent/Watchdog/CoreWatcher.cpp +3 -1
- data/src/agent/Watchdog/InstanceDirToucher.cpp +90 -53
- data/src/agent/Watchdog/WatchdogMain.cpp +13 -29
- data/src/apache2_module/Hooks.cpp +4 -1
- data/src/cxx_supportlib/ConfigKit/Store.h +32 -5
- data/src/cxx_supportlib/Constants.h +1 -2
- data/src/cxx_supportlib/Crypto.cpp +2 -1
- data/src/cxx_supportlib/Hooks.h +16 -37
- data/src/cxx_supportlib/LoggingKit/Context.h +22 -0
- data/src/cxx_supportlib/LoggingKit/Forward.h +1 -0
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +106 -22
- data/src/cxx_supportlib/ProcessManagement/Ruby.cpp +106 -0
- data/src/{agent/UstRouter/FileSink.h → cxx_supportlib/ProcessManagement/Ruby.h} +23 -47
- data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +199 -0
- data/src/cxx_supportlib/ProcessManagement/Spawn.h +150 -0
- data/src/cxx_supportlib/ProcessManagement/Utils.cpp +459 -0
- data/src/cxx_supportlib/ProcessManagement/Utils.h +107 -0
- data/src/cxx_supportlib/Utils.cpp +41 -561
- data/src/cxx_supportlib/Utils.h +0 -68
- data/src/cxx_supportlib/Utils/AsyncSignalSafeUtils.h +187 -0
- data/src/cxx_supportlib/Utils/ProcessMetricsCollector.h +14 -2
- data/src/cxx_supportlib/WatchdogLauncher.h +2 -12
- data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +4 -0
- data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +16 -1
- data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +12 -9
- data/src/cxx_supportlib/vendor-modified/libev/ev++.h +4 -4
- data/src/cxx_supportlib/vendor-modified/libev/ev.h +3 -3
- data/src/nginx_module/CacheLocationConfig.c +0 -75
- data/src/nginx_module/CacheLocationConfig.c.cxxcodebuilder +1 -0
- data/src/nginx_module/Configuration.c +0 -1
- data/src/nginx_module/Configuration.h +0 -1
- data/src/nginx_module/ConfigurationCommands.c +1 -1
- data/src/nginx_module/ContentHandler.c +0 -1
- data/src/nginx_module/ContentHandler.h +0 -1
- data/src/nginx_module/CreateLocationConfig.c +0 -5
- data/src/nginx_module/CreateLocationConfig.c.cxxcodebuilder +1 -0
- data/src/nginx_module/LocationConfig.h +0 -4
- data/src/nginx_module/LocationConfig.h.cxxcodebuilder +2 -1
- data/src/nginx_module/MergeLocationConfig.c +0 -12
- data/src/nginx_module/MergeLocationConfig.c.cxxcodebuilder +1 -0
- data/src/nginx_module/ngx_http_passenger_module.h +0 -1
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +20 -11
- data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +0 -1
- data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +10 -3
- data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/constants.rb +0 -1
- data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +32 -6
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +0 -1
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +2 -4
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +101 -20
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +21 -9
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +34 -31
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +2 -14
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +40 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +15 -14
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +8 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +19 -18
- data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +6 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +17 -1
- metadata +19 -97
- data/build/documentation.rb +0 -70
- data/doc/CloudLicensingConfiguration.html +0 -172
- data/doc/CloudLicensingConfiguration.txt.md +0 -3
- data/doc/Packaging.html +0 -488
- data/doc/Security of user switching support.idmap.txt +0 -34
- data/doc/Security of user switching support.txt +0 -197
- data/doc/ServerOptimizationGuide.html +0 -172
- data/doc/ServerOptimizationGuide.txt.md +0 -3
- data/doc/images/by_sa.png +0 -0
- data/doc/images/cloud_licensing_batch_job.png +0 -0
- data/doc/images/code_walkthrough.jpg +0 -0
- data/doc/images/direct_spawning.png +0 -0
- data/doc/images/direct_spawning.svg +0 -251
- data/doc/images/glyphicons-halflings-white.png +0 -0
- data/doc/images/glyphicons-halflings.png +0 -0
- data/doc/images/icons/README +0 -5
- data/doc/images/icons/callouts/1.png +0 -0
- data/doc/images/icons/callouts/10.png +0 -0
- data/doc/images/icons/callouts/11.png +0 -0
- data/doc/images/icons/callouts/12.png +0 -0
- data/doc/images/icons/callouts/13.png +0 -0
- data/doc/images/icons/callouts/14.png +0 -0
- data/doc/images/icons/callouts/15.png +0 -0
- data/doc/images/icons/callouts/2.png +0 -0
- data/doc/images/icons/callouts/3.png +0 -0
- data/doc/images/icons/callouts/4.png +0 -0
- data/doc/images/icons/callouts/5.png +0 -0
- data/doc/images/icons/callouts/6.png +0 -0
- data/doc/images/icons/callouts/7.png +0 -0
- data/doc/images/icons/callouts/8.png +0 -0
- data/doc/images/icons/callouts/9.png +0 -0
- data/doc/images/icons/caution.png +0 -0
- data/doc/images/icons/example.png +0 -0
- data/doc/images/icons/home.png +0 -0
- data/doc/images/icons/important.png +0 -0
- data/doc/images/icons/next.png +0 -0
- data/doc/images/icons/note.png +0 -0
- data/doc/images/icons/prev.png +0 -0
- data/doc/images/icons/tip.png +0 -0
- data/doc/images/icons/up.png +0 -0
- data/doc/images/icons/warning.png +0 -0
- data/doc/images/many_web_framework_protocols.png +0 -0
- data/doc/images/passenger_architecture.png +0 -0
- data/doc/images/passenger_architecture.svg +0 -385
- data/doc/images/passenger_architecture_overview.png +0 -0
- data/doc/images/passenger_core_architecture.png +0 -0
- data/doc/images/passenger_nodejs_architecture.svg +0 -558
- data/doc/images/phusion_banner.png +0 -0
- data/doc/images/rack.png +0 -0
- data/doc/images/smart_spawning.png +0 -0
- data/doc/images/smart_spawning.svg +0 -323
- data/doc/images/spawn_server_architecture.png +0 -0
- data/doc/images/spawn_server_architecture.svg +0 -655
- data/doc/images/spawning_preparation_work.png +0 -0
- data/doc/images/startup_sequence.png +0 -0
- data/doc/images/typical_isolated_web_application.png +0 -0
- data/doc/images/typical_isolated_web_application.svg +0 -213
- data/doc/users_guide_snippets/alternative_for_flying_passenger.txt +0 -1
- data/doc/users_guide_snippets/analysis_and_system_maintenance.txt +0 -61
- data/doc/users_guide_snippets/appendix_a_about.txt +0 -13
- data/doc/users_guide_snippets/appendix_b_terminology.txt +0 -71
- data/doc/users_guide_snippets/appendix_c_spawning_methods.txt +0 -36
- data/doc/users_guide_snippets/deployment_basics.txt +0 -37
- data/doc/users_guide_snippets/enterprise_only.txt +0 -1
- data/doc/users_guide_snippets/environment_variables.txt +0 -44
- data/doc/users_guide_snippets/global_queueing_explained.txt +0 -74
- data/doc/users_guide_snippets/installation.txt +0 -228
- data/doc/users_guide_snippets/installation/run_installer.txt +0 -58
- data/doc/users_guide_snippets/installation/verify_running_epilogue.txt +0 -6
- data/doc/users_guide_snippets/passenger_spawn_method.txt +0 -37
- data/doc/users_guide_snippets/rackup_specifications.txt +0 -1
- data/doc/users_guide_snippets/rvm_helper_tool.txt +0 -44
- data/doc/users_guide_snippets/since_version.txt +0 -1
- data/doc/users_guide_snippets/support_information.txt +0 -8
- data/doc/users_guide_snippets/tips.txt +0 -302
- data/doc/users_guide_snippets/troubleshooting/default.txt +0 -48
- data/doc/users_guide_snippets/troubleshooting/rails.txt +0 -59
- data/doc/users_guide_snippets/under_the_hood/page_caching_support.txt +0 -24
- data/doc/users_guide_snippets/under_the_hood/relationship_with_ruby.txt +0 -10
- data/doc/users_guide_snippets/where_to_get_support.txt +0 -9
- data/src/agent/Shared/Base.cpp +0 -1678
- data/src/agent/UstRouter/ApiServer.h +0 -292
- data/src/agent/UstRouter/Client.h +0 -112
- data/src/agent/UstRouter/Controller.h +0 -1309
- data/src/agent/UstRouter/LogSink.h +0 -145
- data/src/agent/UstRouter/OptionParser.h +0 -180
- data/src/agent/UstRouter/RemoteSender.h +0 -853
- data/src/agent/UstRouter/RemoteSink.h +0 -145
- data/src/agent/UstRouter/Transaction.h +0 -278
- data/src/agent/UstRouter/UstRouterMain.cpp +0 -681
- data/src/agent/Watchdog/UstRouterWatcher.cpp +0 -80
- data/src/ruby_supportlib/phusion_passenger/platform_info/macos.rb +0 -45
Binary file
|
Binary file
|
@@ -1,558 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
-
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
-
|
4
|
-
<svg
|
5
|
-
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
6
|
-
xmlns:cc="http://creativecommons.org/ns#"
|
7
|
-
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
8
|
-
xmlns:svg="http://www.w3.org/2000/svg"
|
9
|
-
xmlns="http://www.w3.org/2000/svg"
|
10
|
-
xmlns:xlink="http://www.w3.org/1999/xlink"
|
11
|
-
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
12
|
-
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
13
|
-
width="850"
|
14
|
-
height="1052.3622"
|
15
|
-
id="svg2"
|
16
|
-
version="1.1"
|
17
|
-
inkscape:version="0.48.2 r9819"
|
18
|
-
inkscape:export-filename="/Users/hongli/Desktop/passenger_node.png"
|
19
|
-
inkscape:export-xdpi="80.629997"
|
20
|
-
inkscape:export-ydpi="80.629997"
|
21
|
-
sodipodi:docname="passenger_nodejs_architecture.svg">
|
22
|
-
<defs
|
23
|
-
id="defs4">
|
24
|
-
<linearGradient
|
25
|
-
id="linearGradient3873">
|
26
|
-
<stop
|
27
|
-
style="stop-color:#636363;stop-opacity:1;"
|
28
|
-
offset="0"
|
29
|
-
id="stop3875" />
|
30
|
-
<stop
|
31
|
-
style="stop-color:#b1b1b1;stop-opacity:1;"
|
32
|
-
offset="1"
|
33
|
-
id="stop3877" />
|
34
|
-
</linearGradient>
|
35
|
-
<linearGradient
|
36
|
-
id="linearGradient3863">
|
37
|
-
<stop
|
38
|
-
style="stop-color:#eeeeee;stop-opacity:1;"
|
39
|
-
offset="0"
|
40
|
-
id="stop3865" />
|
41
|
-
<stop
|
42
|
-
style="stop-color:#ffffff;stop-opacity:1;"
|
43
|
-
offset="1"
|
44
|
-
id="stop3867" />
|
45
|
-
</linearGradient>
|
46
|
-
<marker
|
47
|
-
inkscape:stockid="Arrow1Mstart"
|
48
|
-
orient="auto"
|
49
|
-
refY="0.0"
|
50
|
-
refX="0.0"
|
51
|
-
id="Arrow1Mstart"
|
52
|
-
style="overflow:visible">
|
53
|
-
<path
|
54
|
-
id="path4005"
|
55
|
-
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
56
|
-
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
|
57
|
-
transform="scale(0.4) translate(10,0)" />
|
58
|
-
</marker>
|
59
|
-
<marker
|
60
|
-
inkscape:stockid="Arrow2Send"
|
61
|
-
orient="auto"
|
62
|
-
refY="0"
|
63
|
-
refX="0"
|
64
|
-
id="Arrow2Send"
|
65
|
-
style="overflow:visible">
|
66
|
-
<path
|
67
|
-
id="path4032"
|
68
|
-
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
69
|
-
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
70
|
-
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
|
71
|
-
inkscape:connector-curvature="0" />
|
72
|
-
</marker>
|
73
|
-
<marker
|
74
|
-
inkscape:stockid="Arrow2Sstart"
|
75
|
-
orient="auto"
|
76
|
-
refY="0"
|
77
|
-
refX="0"
|
78
|
-
id="Arrow2Sstart"
|
79
|
-
style="overflow:visible">
|
80
|
-
<path
|
81
|
-
id="path4029"
|
82
|
-
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
83
|
-
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
84
|
-
transform="matrix(0.3,0,0,0.3,-0.69,0)"
|
85
|
-
inkscape:connector-curvature="0" />
|
86
|
-
</marker>
|
87
|
-
<marker
|
88
|
-
inkscape:stockid="Arrow2Mend"
|
89
|
-
orient="auto"
|
90
|
-
refY="0"
|
91
|
-
refX="0"
|
92
|
-
id="Arrow2Mend"
|
93
|
-
style="overflow:visible">
|
94
|
-
<path
|
95
|
-
id="path4026"
|
96
|
-
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
97
|
-
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
98
|
-
transform="scale(-0.6,-0.6)"
|
99
|
-
inkscape:connector-curvature="0" />
|
100
|
-
</marker>
|
101
|
-
<marker
|
102
|
-
inkscape:stockid="Arrow2Mstart"
|
103
|
-
orient="auto"
|
104
|
-
refY="0"
|
105
|
-
refX="0"
|
106
|
-
id="Arrow2Mstart"
|
107
|
-
style="overflow:visible">
|
108
|
-
<path
|
109
|
-
id="path4023"
|
110
|
-
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
111
|
-
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
112
|
-
transform="scale(0.6,0.6)"
|
113
|
-
inkscape:connector-curvature="0" />
|
114
|
-
</marker>
|
115
|
-
<radialGradient
|
116
|
-
inkscape:collect="always"
|
117
|
-
xlink:href="#linearGradient3863"
|
118
|
-
id="radialGradient3871"
|
119
|
-
cx="399.86142"
|
120
|
-
cy="173.65393"
|
121
|
-
fx="399.86142"
|
122
|
-
fy="173.65393"
|
123
|
-
r="124.21188"
|
124
|
-
gradientTransform="matrix(0.08359871,-0.53730252,1.4968758,0.23289847,152.10997,303.41193)"
|
125
|
-
gradientUnits="userSpaceOnUse" />
|
126
|
-
<radialGradient
|
127
|
-
inkscape:collect="always"
|
128
|
-
xlink:href="#linearGradient3873"
|
129
|
-
id="radialGradient3881"
|
130
|
-
cx="420.47626"
|
131
|
-
cy="176.68454"
|
132
|
-
fx="420.47626"
|
133
|
-
fy="176.68454"
|
134
|
-
r="124.21188"
|
135
|
-
gradientTransform="matrix(0.19105948,-0.65672497,1.4449036,0.42036247,84.848158,325.87482)"
|
136
|
-
gradientUnits="userSpaceOnUse" />
|
137
|
-
</defs>
|
138
|
-
<sodipodi:namedview
|
139
|
-
id="base"
|
140
|
-
pagecolor="#ffffff"
|
141
|
-
bordercolor="#666666"
|
142
|
-
borderopacity="1.0"
|
143
|
-
inkscape:pageopacity="0.0"
|
144
|
-
inkscape:pageshadow="2"
|
145
|
-
inkscape:zoom="1"
|
146
|
-
inkscape:cx="170.25044"
|
147
|
-
inkscape:cy="740"
|
148
|
-
inkscape:document-units="px"
|
149
|
-
inkscape:current-layer="layer1"
|
150
|
-
showgrid="false"
|
151
|
-
inkscape:snap-bbox="false"
|
152
|
-
inkscape:snap-bbox-midpoints="false"
|
153
|
-
inkscape:window-width="1333"
|
154
|
-
inkscape:window-height="856"
|
155
|
-
inkscape:window-x="0"
|
156
|
-
inkscape:window-y="0"
|
157
|
-
inkscape:window-maximized="0">
|
158
|
-
<inkscape:grid
|
159
|
-
type="xygrid"
|
160
|
-
id="grid3901"
|
161
|
-
empspacing="5"
|
162
|
-
visible="true"
|
163
|
-
enabled="true"
|
164
|
-
snapvisiblegridlinesonly="true" />
|
165
|
-
</sodipodi:namedview>
|
166
|
-
<metadata
|
167
|
-
id="metadata7">
|
168
|
-
<rdf:RDF>
|
169
|
-
<cc:Work
|
170
|
-
rdf:about="">
|
171
|
-
<dc:format>image/svg+xml</dc:format>
|
172
|
-
<dc:type
|
173
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
174
|
-
<dc:title></dc:title>
|
175
|
-
</cc:Work>
|
176
|
-
</rdf:RDF>
|
177
|
-
</metadata>
|
178
|
-
<g
|
179
|
-
inkscape:label="Layer 1"
|
180
|
-
inkscape:groupmode="layer"
|
181
|
-
id="layer1">
|
182
|
-
<g
|
183
|
-
id="g3963"
|
184
|
-
transform="matrix(0.63975588,0,0,0.63975588,121.89997,153.53014)">
|
185
|
-
<rect
|
186
|
-
ry="15"
|
187
|
-
rx="15"
|
188
|
-
y="96.362183"
|
189
|
-
x="403"
|
190
|
-
height="134"
|
191
|
-
width="187.5"
|
192
|
-
id="rect3958"
|
193
|
-
style="fill:#106bce;fill-opacity:1;stroke:none" />
|
194
|
-
<rect
|
195
|
-
ry="15"
|
196
|
-
rx="15"
|
197
|
-
y="96.362183"
|
198
|
-
x="206"
|
199
|
-
height="134"
|
200
|
-
width="200"
|
201
|
-
id="rect3917"
|
202
|
-
style="fill:#3d93f0;fill-opacity:1;stroke:none" />
|
203
|
-
<text
|
204
|
-
xml:space="preserve"
|
205
|
-
style="font-size:25.53247833px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
|
206
|
-
x="306.66592"
|
207
|
-
y="136.18573"
|
208
|
-
id="text3923"
|
209
|
-
sodipodi:linespacing="125%"><tspan
|
210
|
-
style="font-size:25.53247833px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Medium Condensed"
|
211
|
-
sodipodi:role="line"
|
212
|
-
id="tspan3925"
|
213
|
-
x="306.66592"
|
214
|
-
y="136.18573">Passenger</tspan><tspan
|
215
|
-
style="font-size:25.53247833px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Medium Condensed"
|
216
|
-
id="tspan3927"
|
217
|
-
sodipodi:role="line"
|
218
|
-
x="306.66592"
|
219
|
-
y="168.10133">+</tspan><tspan
|
220
|
-
id="tspan3929"
|
221
|
-
style="font-size:25.53247833px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Medium Condensed"
|
222
|
-
sodipodi:role="line"
|
223
|
-
x="306.66592"
|
224
|
-
y="200.01692">Nginx</tspan></text>
|
225
|
-
<rect
|
226
|
-
style="fill:#106bce;fill-opacity:1;stroke:none"
|
227
|
-
id="rect3931"
|
228
|
-
width="187.5"
|
229
|
-
height="134"
|
230
|
-
x="385"
|
231
|
-
y="96.362183" />
|
232
|
-
<text
|
233
|
-
sodipodi:linespacing="125%"
|
234
|
-
id="text3933"
|
235
|
-
y="137.68573"
|
236
|
-
x="486.66595"
|
237
|
-
style="font-size:25.53247833px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
|
238
|
-
xml:space="preserve"><tspan
|
239
|
-
id="tspan3946"
|
240
|
-
y="137.68573"
|
241
|
-
x="486.66595"
|
242
|
-
sodipodi:role="line"
|
243
|
-
style="font-size:25.53247833px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Condensed">Management</tspan></text>
|
244
|
-
<path
|
245
|
-
sodipodi:nodetypes="scssssss"
|
246
|
-
inkscape:connector-curvature="0"
|
247
|
-
id="rect3960"
|
248
|
-
d="m 418,163.86218 172.5,0 0,51.5 c 0,8.31 -6.69,15 -15,15 l -157.5,0 c -8.31,0 -15,-6.69 -15,-15 l 0,-36.5 c 0,-8.31 6.69857,-15.37734 15,-15 z"
|
249
|
-
style="fill:#137bed;fill-opacity:1;stroke:none" />
|
250
|
-
<rect
|
251
|
-
y="163.86218"
|
252
|
-
x="385"
|
253
|
-
height="66.5"
|
254
|
-
width="187.5"
|
255
|
-
id="rect3950"
|
256
|
-
style="fill:#137bed;fill-opacity:1;stroke:none" />
|
257
|
-
<text
|
258
|
-
xml:space="preserve"
|
259
|
-
style="font-size:25.53247833px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
|
260
|
-
x="485.16595"
|
261
|
-
y="203.68573"
|
262
|
-
id="text3952"
|
263
|
-
sodipodi:linespacing="125%"><tspan
|
264
|
-
style="font-size:25.53247833px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Condensed"
|
265
|
-
sodipodi:role="line"
|
266
|
-
x="485.16595"
|
267
|
-
y="203.68573"
|
268
|
-
id="tspan3954">Inspection</tspan></text>
|
269
|
-
</g>
|
270
|
-
<g
|
271
|
-
id="g3805"
|
272
|
-
transform="matrix(0.96875643,0,0,0.96875643,54.85768,351.22217)">
|
273
|
-
<rect
|
274
|
-
ry="10"
|
275
|
-
rx="10"
|
276
|
-
y="96.362183"
|
277
|
-
x="28"
|
278
|
-
height="77"
|
279
|
-
width="170"
|
280
|
-
id="rect2985"
|
281
|
-
style="fill:#5dc737;fill-opacity:1;stroke:none" />
|
282
|
-
<text
|
283
|
-
sodipodi:linespacing="125%"
|
284
|
-
id="text2987"
|
285
|
-
y="145.36218"
|
286
|
-
x="52"
|
287
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
|
288
|
-
xml:space="preserve"><tspan
|
289
|
-
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Bold"
|
290
|
-
y="145.36218"
|
291
|
-
x="52"
|
292
|
-
id="tspan2989"
|
293
|
-
sodipodi:role="line">Node.js</tspan></text>
|
294
|
-
</g>
|
295
|
-
<g
|
296
|
-
transform="matrix(0.96875643,0,0,0.96875643,246.56886,351.22217)"
|
297
|
-
id="g3986">
|
298
|
-
<rect
|
299
|
-
style="fill:#5dc737;fill-opacity:1;stroke:none"
|
300
|
-
id="rect3988"
|
301
|
-
width="170"
|
302
|
-
height="77"
|
303
|
-
x="28"
|
304
|
-
y="96.362183"
|
305
|
-
rx="10"
|
306
|
-
ry="10" />
|
307
|
-
<text
|
308
|
-
xml:space="preserve"
|
309
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
|
310
|
-
x="52"
|
311
|
-
y="145.36218"
|
312
|
-
id="text3990"
|
313
|
-
sodipodi:linespacing="125%"><tspan
|
314
|
-
sodipodi:role="line"
|
315
|
-
id="tspan3992"
|
316
|
-
x="52"
|
317
|
-
y="145.36218"
|
318
|
-
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Bold">Node.js</tspan></text>
|
319
|
-
</g>
|
320
|
-
<path
|
321
|
-
style="fill:none;stroke:#000000;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Sstart);marker-end:url(#Arrow2Send)"
|
322
|
-
d="m 281.76628,316.63576 -68.6403,124.81129"
|
323
|
-
id="path3994"
|
324
|
-
inkscape:connector-curvature="0"
|
325
|
-
sodipodi:nodetypes="cc" />
|
326
|
-
<path
|
327
|
-
sodipodi:nodetypes="cc"
|
328
|
-
inkscape:connector-curvature="0"
|
329
|
-
id="path5004"
|
330
|
-
d="M 357.84638,444.47452 357.56679,316.65484"
|
331
|
-
style="fill:none;stroke:#000000;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Sstart);marker-end:url(#Arrow2Send)" />
|
332
|
-
<text
|
333
|
-
xml:space="preserve"
|
334
|
-
style="font-size:12.87560654px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
|
335
|
-
x="-216.75558"
|
336
|
-
y="369.31613"
|
337
|
-
id="text5006"
|
338
|
-
sodipodi:linespacing="125%"
|
339
|
-
transform="matrix(0.47513133,-0.87991489,0.87991489,0.47513133,0,0)"><tspan
|
340
|
-
sodipodi:role="line"
|
341
|
-
id="tspan5008"
|
342
|
-
x="-216.75558"
|
343
|
-
y="369.31613"
|
344
|
-
style="font-size:12.87560654px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Condensed">High-performance</tspan><tspan
|
345
|
-
sodipodi:role="line"
|
346
|
-
x="-216.75558"
|
347
|
-
y="385.41064"
|
348
|
-
id="tspan5010"
|
349
|
-
style="font-size:12.87560654px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Condensed">Unix channel</tspan></text>
|
350
|
-
<g
|
351
|
-
id="g5055"
|
352
|
-
transform="translate(31,183)">
|
353
|
-
<rect
|
354
|
-
ry="10"
|
355
|
-
rx="10"
|
356
|
-
y="111.36218"
|
357
|
-
x="-14"
|
358
|
-
height="57"
|
359
|
-
width="143"
|
360
|
-
id="rect5049"
|
361
|
-
style="fill:#92c61d;fill-opacity:1;stroke:none" />
|
362
|
-
<text
|
363
|
-
sodipodi:linespacing="125%"
|
364
|
-
id="text5051"
|
365
|
-
y="145.36218"
|
366
|
-
x="13"
|
367
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
|
368
|
-
xml:space="preserve"><tspan
|
369
|
-
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:condensed;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Medium Condensed"
|
370
|
-
y="145.36218"
|
371
|
-
x="13"
|
372
|
-
id="tspan5053"
|
373
|
-
sodipodi:role="line">Filesystem</tspan></text>
|
374
|
-
</g>
|
375
|
-
<path
|
376
|
-
style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Sstart);marker-end:url(#Arrow2Send)"
|
377
|
-
d="m 253,258.36218 -166,0 0,33.52872"
|
378
|
-
id="path5060"
|
379
|
-
inkscape:connector-curvature="0" />
|
380
|
-
<text
|
381
|
-
xml:space="preserve"
|
382
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
|
383
|
-
x="84"
|
384
|
-
y="248.36218"
|
385
|
-
id="text5444"
|
386
|
-
sodipodi:linespacing="125%"><tspan
|
387
|
-
sodipodi:role="line"
|
388
|
-
id="tspan5446"
|
389
|
-
x="84"
|
390
|
-
y="248.36218"
|
391
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Condensed">Static file acceleration</tspan></text>
|
392
|
-
<g
|
393
|
-
id="g6238"
|
394
|
-
transform="translate(3,133)">
|
395
|
-
<g
|
396
|
-
transform="translate(38,-12)"
|
397
|
-
id="g5462">
|
398
|
-
<path
|
399
|
-
style="fill:#6fb6de;fill-opacity:1;stroke:none"
|
400
|
-
d="m 654,73.875 c -13.71265,0 -24.82895,11.116298 -24.82895,24.828947 0,9.155773 4.99343,17.101053 12.36883,21.405843 -14.03045,5.70434 -24.05304,20.7911 -24.05304,38.47574 0,10.01686 3.24256,19.1791 8.58059,26.28947 l 55.86514,0 c 5.33803,-7.11037 8.58059,-16.27261 8.58059,-26.28947 0,-17.68464 -10.02259,-32.7714 -24.05304,-38.47574 7.3754,-4.30479 12.36883,-12.25007 12.36883,-21.405843 C 678.82895,84.991298 667.71265,73.875 654,73.875 z"
|
401
|
-
id="path5448"
|
402
|
-
inkscape:connector-curvature="0" />
|
403
|
-
<path
|
404
|
-
style="fill:none;stroke:#3389ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
405
|
-
d="m 644,106.36218 c 0,0 9.5,12 20,0"
|
406
|
-
id="path5456"
|
407
|
-
inkscape:connector-curvature="0"
|
408
|
-
sodipodi:nodetypes="cc" />
|
409
|
-
<path
|
410
|
-
sodipodi:type="arc"
|
411
|
-
style="fill:#3389ff;fill-opacity:1;stroke:none"
|
412
|
-
id="path5458"
|
413
|
-
sodipodi:cx="572.5"
|
414
|
-
sodipodi:cy="103.86218"
|
415
|
-
sodipodi:rx="3"
|
416
|
-
sodipodi:ry="3"
|
417
|
-
d="m 575.5,103.86218 c 0,1.65686 -1.34315,3 -3,3 -1.65685,0 -3,-1.34314 -3,-3 0,-1.65685 1.34315,-3 3,-3 1.65685,0 3,1.34315 3,3 z"
|
418
|
-
transform="translate(72.5,-9.5)" />
|
419
|
-
<path
|
420
|
-
transform="translate(90.5,-9.5)"
|
421
|
-
d="m 575.5,103.86218 c 0,1.65686 -1.34315,3 -3,3 -1.65685,0 -3,-1.34314 -3,-3 0,-1.65685 1.34315,-3 3,-3 1.65685,0 3,1.34315 3,3 z"
|
422
|
-
sodipodi:ry="3"
|
423
|
-
sodipodi:rx="3"
|
424
|
-
sodipodi:cy="103.86218"
|
425
|
-
sodipodi:cx="572.5"
|
426
|
-
id="path5460"
|
427
|
-
style="fill:#3389ff;fill-opacity:1;stroke:none"
|
428
|
-
sodipodi:type="arc" />
|
429
|
-
</g>
|
430
|
-
<text
|
431
|
-
sodipodi:linespacing="125%"
|
432
|
-
id="text5468"
|
433
|
-
y="197.36218"
|
434
|
-
x="691.82397"
|
435
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
|
436
|
-
xml:space="preserve"><tspan
|
437
|
-
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans"
|
438
|
-
y="197.36218"
|
439
|
-
x="691.82397"
|
440
|
-
id="tspan5470"
|
441
|
-
sodipodi:role="line">You only deal with one</tspan><tspan
|
442
|
-
id="tspan5472"
|
443
|
-
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans"
|
444
|
-
y="219.86218"
|
445
|
-
x="691.82397"
|
446
|
-
sodipodi:role="line">thing. Much easier.</tspan></text>
|
447
|
-
</g>
|
448
|
-
<path
|
449
|
-
style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow2Mstart)"
|
450
|
-
d="m 525,256.36218 119,0"
|
451
|
-
id="path5474"
|
452
|
-
inkscape:connector-curvature="0" />
|
453
|
-
<path
|
454
|
-
style="fill:url(#radialGradient3871);fill-opacity:1;stroke:url(#radialGradient3881);stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
455
|
-
d="m 365.31316,30.858157 c -31.87555,3.054126 -58.12241,15.226805 -67.31975,29.681083 -33.71321,4.861688 -58.83608,21.896149 -57.14883,39.5058 1.79097,18.69207 33.103,30.98397 69.93739,27.45472 9.48641,-0.90893 18.42234,-2.79353 26.41904,-5.38809 14.33469,10.45714 41.87556,15.92236 72.75561,12.96362 43.98136,-4.21403 78.07668,-23.89729 76.15403,-43.963782 -1.29771,-13.544074 -18.69292,-23.79842 -43.3747,-27.739499 0.21494,-1.421792 0.26078,-2.848192 0.12347,-4.281294 C 440.98944,39.573986 406.2708,26.93384 365.31316,30.858157 z"
|
456
|
-
id="path6248"
|
457
|
-
inkscape:connector-curvature="0" />
|
458
|
-
<text
|
459
|
-
xml:space="preserve"
|
460
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#464646;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
|
461
|
-
x="330"
|
462
|
-
y="96.362183"
|
463
|
-
id="text6276"
|
464
|
-
sodipodi:linespacing="125%"><tspan
|
465
|
-
sodipodi:role="line"
|
466
|
-
id="tspan6278"
|
467
|
-
x="330"
|
468
|
-
y="96.362183"
|
469
|
-
style="font-size:36px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:condensed;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Medium Condensed;fill:#464646;fill-opacity:1">Web</tspan></text>
|
470
|
-
<path
|
471
|
-
style="fill:none;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:15,15;stroke-dashoffset:0"
|
472
|
-
d="m 375,141.36218 0,70"
|
473
|
-
id="path6293"
|
474
|
-
inkscape:connector-curvature="0" />
|
475
|
-
<path
|
476
|
-
transform="matrix(18.915507,0,0,19.762923,-6593.8118,-7739.4215)"
|
477
|
-
d="m 383,416.36218 a 5,6 0 1 1 -10,0 5,6 0 1 1 10,0 z"
|
478
|
-
sodipodi:ry="6"
|
479
|
-
sodipodi:rx="5"
|
480
|
-
sodipodi:cy="416.36218"
|
481
|
-
sodipodi:cx="378"
|
482
|
-
id="path6507"
|
483
|
-
style="fill:#ffffff;stroke:#000000;stroke-width:0.17735070000000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1"
|
484
|
-
sodipodi:type="arc" />
|
485
|
-
<text
|
486
|
-
xml:space="preserve"
|
487
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial"
|
488
|
-
x="558.68427"
|
489
|
-
y="439.86218"
|
490
|
-
id="text6485"
|
491
|
-
sodipodi:linespacing="125%"><tspan
|
492
|
-
sodipodi:role="line"
|
493
|
-
id="tspan6487"
|
494
|
-
x="558.68427"
|
495
|
-
y="439.86218"
|
496
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Medium Condensed">Taken care for you:</tspan><tspan
|
497
|
-
sodipodi:role="line"
|
498
|
-
x="558.68427"
|
499
|
-
y="459.86218"
|
500
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Condensed"
|
501
|
-
id="tspan6489">Process spawning</tspan><tspan
|
502
|
-
sodipodi:role="line"
|
503
|
-
x="558.68427"
|
504
|
-
y="479.86218"
|
505
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Condensed"
|
506
|
-
id="tspan6491">Process scaling</tspan><tspan
|
507
|
-
sodipodi:role="line"
|
508
|
-
x="558.68427"
|
509
|
-
y="499.86218"
|
510
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Condensed"
|
511
|
-
id="tspan6493">Load balancing</tspan><tspan
|
512
|
-
sodipodi:role="line"
|
513
|
-
x="558.68427"
|
514
|
-
y="519.86218"
|
515
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Condensed"
|
516
|
-
id="tspan6495">Multi-core support</tspan><tspan
|
517
|
-
sodipodi:role="line"
|
518
|
-
x="558.68427"
|
519
|
-
y="539.86218"
|
520
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Condensed"
|
521
|
-
id="tspan6497">Supervision</tspan><tspan
|
522
|
-
sodipodi:role="line"
|
523
|
-
x="558.68427"
|
524
|
-
y="559.86218"
|
525
|
-
style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:condensed;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Pluto Sans;-inkscape-font-specification:Pluto Sans Condensed"
|
526
|
-
id="tspan6499">...and more!</tspan></text>
|
527
|
-
<path
|
528
|
-
sodipodi:type="arc"
|
529
|
-
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.44975093;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
530
|
-
id="path6501"
|
531
|
-
sodipodi:cx="378"
|
532
|
-
sodipodi:cy="416.36218"
|
533
|
-
sodipodi:rx="5"
|
534
|
-
sodipodi:ry="6"
|
535
|
-
d="m 383,416.36218 a 5,6 0 1 1 -10,0 5,6 0 1 1 10,0 z"
|
536
|
-
transform="matrix(1.4620453,0,0,1.3017044,-170.15311,-155.1183)" />
|
537
|
-
<path
|
538
|
-
transform="matrix(2.095475,0,0,1.9962292,-379.08955,-432.29214)"
|
539
|
-
d="m 383,416.36218 a 5,6 0 1 1 -10,0 5,6 0 1 1 10,0 z"
|
540
|
-
sodipodi:ry="6"
|
541
|
-
sodipodi:rx="5"
|
542
|
-
sodipodi:cy="416.36218"
|
543
|
-
sodipodi:cx="378"
|
544
|
-
id="path6503"
|
545
|
-
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
546
|
-
sodipodi:type="arc" />
|
547
|
-
<path
|
548
|
-
sodipodi:type="arc"
|
549
|
-
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
550
|
-
id="path6505"
|
551
|
-
sodipodi:cx="378"
|
552
|
-
sodipodi:cy="416.36218"
|
553
|
-
sodipodi:rx="5"
|
554
|
-
sodipodi:ry="6"
|
555
|
-
d="m 383,416.36218 a 5,6 0 1 1 -10,0 5,6 0 1 1 10,0 z"
|
556
|
-
transform="matrix(3,0,0,3,-682,-834.72437)" />
|
557
|
-
</g>
|
558
|
-
</svg>
|