commit
a870b87080
44
CHANGELOG.md
44
CHANGELOG.md
|
@ -2,6 +2,50 @@
|
||||||
emqttd ChangeLog
|
emqttd ChangeLog
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
0.14.0-beta(2015-12-18)
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
#### Highlights
|
||||||
|
|
||||||
|
Scaling to 1.3 Million Concurrent MQTT Connections on a 12 Core, 32G CentOS server.
|
||||||
|
|
||||||
|
New PubSub, Router Design (#402). Prepare for scaling to 10 millions on one cluster.
|
||||||
|
|
||||||
|
#### Enhancements
|
||||||
|
|
||||||
|
Improve the gproc_pool usage with a general emqttd_pool_sup
|
||||||
|
|
||||||
|
Improve the design of emqttd_pubsub, add a new emqttd_router module
|
||||||
|
|
||||||
|
Improve the design of the whole supervisor tree
|
||||||
|
|
||||||
|
Route aging mechanism to remove the topics that have no subscriptions
|
||||||
|
|
||||||
|
Improve the dashboard, mysql, pgsql, stomp, sockjs plugins
|
||||||
|
|
||||||
|
Add 'topics', 'subscriptions' admin commands
|
||||||
|
|
||||||
|
Avoid using mnesia table index and mnesia:index_read API to lower CPU usage
|
||||||
|
|
||||||
|
Subscribe timeout exception (#366)
|
||||||
|
|
||||||
|
Long Delay on Multiple Topic Subscription (#365)
|
||||||
|
|
||||||
|
Subscriptions persistence (#344)
|
||||||
|
|
||||||
|
emqttd_ctl: 'subscriptions' command to force clients to subscribe some topics (#361)
|
||||||
|
|
||||||
|
#### Bugfix
|
||||||
|
|
||||||
|
emqttd_sm: spec of lookup_session/1 is not right BUG (#411)
|
||||||
|
|
||||||
|
Observer application should be removed from reltool.config for 'wx' app is not available (#410)
|
||||||
|
|
||||||
|
#### Benchmark
|
||||||
|
|
||||||
|
1.3 million concurrent MQTT connections on a 12 Core, 32G CentOS Server, consume about 15G Memory and 200% CPU.
|
||||||
|
|
||||||
|
|
||||||
0.13.1-beta(2015-11-28)
|
0.13.1-beta(2015-11-28)
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
|
|
20
TODO
20
TODO
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
DONE TODO 1. refactor gproc_pool usage
|
|
||||||
|
|
||||||
DONE TODO 2. emqttd_router, emqttd_pubsub to route message
|
|
||||||
|
|
||||||
DONE TODO 3. sup, pool_sup, manager......
|
|
||||||
|
|
||||||
DONE TODO 4. route ageing...
|
|
||||||
|
|
||||||
TODO 5. dashboard
|
|
||||||
|
|
||||||
TODO 6. emqttd_ctl
|
|
||||||
|
|
||||||
DONE TODO 7. transaction on route, and topic?
|
|
||||||
|
|
||||||
TODO 8. topics, subscriptions CLI
|
|
||||||
|
|
||||||
DONE TODO 9. LOG.....
|
|
||||||
|
|
||||||
DONE TODO 10. emqttd_sm.erl to remove mnesia:index_read...
|
|
|
@ -56,7 +56,6 @@
|
||||||
{app, inets, [{incl_cond, include}]},
|
{app, inets, [{incl_cond, include}]},
|
||||||
{app, compiler, [{incl_cond, include}]},
|
{app, compiler, [{incl_cond, include}]},
|
||||||
{app, runtime_tools, [{incl_cond, include}]},
|
{app, runtime_tools, [{incl_cond, include}]},
|
||||||
{app, observer, [{incl_cond, include}]},
|
|
||||||
{app, goldrush, [{incl_cond, include}]},
|
{app, goldrush, [{incl_cond, include}]},
|
||||||
{app, gen_logger, [{incl_cond, include}]},
|
{app, gen_logger, [{incl_cond, include}]},
|
||||||
{app, lager, [{incl_cond, include}]},
|
{app, lager, [{incl_cond, include}]},
|
||||||
|
|
|
@ -103,7 +103,7 @@ start_session(CleanSess, ClientId) ->
|
||||||
%% @doc Lookup a Session
|
%% @doc Lookup a Session
|
||||||
%% @end
|
%% @end
|
||||||
%%------------------------------------------------------------------------------
|
%%------------------------------------------------------------------------------
|
||||||
-spec lookup_session(binary()) -> pid() | undefined.
|
-spec lookup_session(binary()) -> mqtt_session() | undefined.
|
||||||
lookup_session(ClientId) ->
|
lookup_session(ClientId) ->
|
||||||
case mnesia:dirty_read(session, ClientId) of
|
case mnesia:dirty_read(session, ClientId) of
|
||||||
[Session] -> Session;
|
[Session] -> Session;
|
||||||
|
|
Loading…
Reference in New Issue