:より転載http://www.pinlue.com/article/2020/03/0508/059982901128.html
本論文では、知識だけアーキテクチャ設計上の考慮事項は、詳細に特定の知識を持っていません。
まず、トップレベルのアーキテクチャ
Linux / Windowsプラットフォーム、CS / BSアーキテクチャ、ビッグデータアーキテクチャ、アプリケーション(ゲーム、インターネット、伝統産業など)
第二に、CSクライアントの技術的な選択
1、GUI開発技術
(1)マイクロソフトの技術システム
MFC、Winフォーム、WPF、UWP
(2)Javaテクノロジシステム
JavaのAWT、Javaのスイング、JavaFXの
(3)Pythonの技術システム
絶望では、PyQtは、PyGUI、Libavg、wxPythonを
2、携帯端末の技術開発
ネイティブアプリ:アンドロイド、IOS、WP
小型マイクロチャネルプログラム
プログレッシブWebアプリケーション:エンド・モバイル向けのWebアプリケーション。
3、コンソールプログラム
第三に、内BSブラウザ技術選択
1、マイクロソフトの技術システム
Asp.net、Asp.net MVC、Silverlightは、IIS
2、Javaテクノロジシステム
JSP +サーブレット+ Strutsの+休止+春、Tomcatの
3、他の技術
HTML5、JS、AJAX、CSS3、HTTP / HTTPS
JSフレームワーク:jQueryの、角度JS、ブートストラップ、jQueryのUI、内線JS、道場、プロトタイプJS、プロトタイプJS(DOM解析、Ajaxの処理、CSSのサポート、JSONサポート、ブラウザの互換性)
四、CS Serverテクノロジの選択とBSの終わり
1、マイクロソフトの技術システム
ASP.NET Webサービス、WCF、WebAPIの
2、Javaテクノロジシステム
JavaのWebサービス
3、REST、マイクロサービス
4、およびデータベースアクセス技術
(1)データベース製品
SQL Serverのは、MySQLやOracle、DB2、Postgre、Redisの
(2)データベースアクセス技術
JDBC、ADO.NET、ORM技術
5、メッセージキュー技術
(1)のRabbitMQ
Erlangのは、ヘビー級のメッセージ・キューを開発し、多くのプロトコルをサポートしています。AMQP、XMPP、SMTP、STOMP。ロードバランシング(負荷分散)、(ルーティング)ルーティングやデータ持続性は非常に良いサポートを持っています。
(2)のRedis
NoSQLデータベースのキー値。しかし、MQサポート機能。軽量キューサービスを提供します。かかわらず、データサイズのパフォーマンス、RedisのチームがRabbitMQのよりも優れて動作させます。パフォーマンスと操作チームのサイズに関連するデータの量。
(3)ZeroMQ
最速のメッセージキューイングシステム、高スループットのシナリオのための特定の需要として知られています。技術的な複雑さが高いです。ユニークな非中間パターンを有していない、とメッセージサーバミドルウェアをインストールまたは実行する必要、単にZeroMQの参照ライブラリZeroMQは、不快なアプリケーション間でメッセージを送ることができます。ZeroMQは唯一の非永続キュー。
(4)ActiveMQの
同様ZeroMQは、それがピア・技術へのエージェントとピアとしてキューに入れることができます。
(5)Jafka /カフカ
カフカは、高性能クロス言語は、メッセージキューイングシステムをパブリッシュ/サブスクライブ分散であり、そしてJafkaはカフカハッチが来る上に、カフカのアップグレードバージョンであることです。Hadoopの並列データローディングをサポートする迅速な永続的な、ハイスループット、完全に分散型システム。
(6)ケストレル
高速、コンパクト、耐久性、信頼性、クラスタリングのサポート、柔軟な構成。使用ScalaはJVM上で実行するように開発されました。ハードディスク上の永続化のためのログを保持しながら、実行時には、キューは、メモリに格納されます。マルチプロトコルサポートリクエスト:memcacheのプロトコル、テキストプロトコル、貯蓄契約。
(7)MSMQ
安定性、メッセージの優先度、オフライン機能、トランザクション・メッセージング、セキュリティ、弾力性、Windowsプラットフォームに適しています。
ファイブビッグデータ技術
1、Hadoopの技術要素
HDFS:Hadoopの分散ファイルシステム
ハイブ:データウェアハウス
HBaseの:分散データベース
飼育係:分散アプリケーションのためのコーディネーションサービス
Sqoop:リレーショナル・データベース・ツールHDFSへ
スリフト:クロスランゲージサービス展開のフレームワーク
マップ/削減:分散コンピューティングフレームワーク
YARN:Hadoopのリソース管理システム
カフカ:分散パブリッシュ・サブスクライブ・メッセージングシステム
水路:Clouderaのは、高可用性、信頼性の高い、分散型の大規模なログ収集、集約および伝送システムを提供します
2、スパーク技術コンポーネント
スパークコア
スパークSQL
スパークストリーミング
スパークMLlib
Graphx
3、NOSQLデータベース
カサンドラ
MongoDBの
CouchDBの
Redisの
波紋
MemBase値
Neo4j
HBaseの
4、大規模なデータセキュリティ技術
第六に、大規模なデータベース以外では、あなたはまた、これらの将来の技術を知っている必要があります
1、人工知能、機械学習と深い学習
テクノロジー:決定木学習、導出論理プログラミング、クラスタリング、および伝統的な学習アルゴリズムとベイジアンネットワークの多様性を強化し、人工ニューラルネットワーク。
アプリケーション:無人(百度、グーグル)、インテリジェント尋問(「ワトソン」)、エンジン(音声、画像)、機械翻訳、音声アシスタント(シリ、フナ、ウィートグラス、IFLYTEK)、インテリジェントな勧告を検索、チェス。
2、クラウドコンピューティング
テクノロジー:仮想化技術、IAAS技術、PAAS技術、SAAS技術
用途:クラウド物事、クラウドセキュリティ、クラウドストレージ、プライベートクラウド、クラウドゲーム、雲の教育。
3つの事
技術:RFID技術、GPS技術、北斗システム、GSM / GPRS / CDMA移動通信技術、GIS技術、センサー技術、組み込みシステム技術。
アプリケーション:インテリジェント交通、インテリジェントビル、デジタルホーム、デジタルライブラリ、デジタルアーカイブ、デジタルミュージアム、遺産の保全、環境保護、物流管理、食品の安全管理、デジタル健康、アンチ侵入テクノロジー、小売、ポジショニングとナビゲーション。
4、コンテナ技術
(1)一般的なCONTAINER
Linuxベースのドッカー容器、SolarisのゾーンまたはFreeBSDの刑務所。
Microsoftは、Windowsの容器を開発し、ドッカーと協力しています。
コンテナおよび仮想マシン技術の差(2)
軽量性を有する容器は、非常に高速な起動速度を提供し、より少ないメモリ空間を必要とし、仮想マシンは、セキュリティ、特定のオペレーティング・システムは、より堅牢かつ論理的な境界である提供します。
5、VR、AR、MR技術
VR:仮想現実は没入型の一般的なようにユーザーをできるように、視覚、聴覚、触覚や他の感覚のためのユーザーのシミュレーションを提供する、3次元仮想世界を生成するために、コンピュータシミュレーションを使用することで、時間内に、3次元内観察する制限はありません物事。
AR:コンピュータ技術による拡張現実感、同じ画面またはスペースが存在に重畳リアルタイムで現実世界に仮想情報の応用、実環境と仮想物体。
MR:複合現実感もマージ現実を参照して、仮想強化と仮想世界が新たな可視化環境を生成するステップと、両方の拡張現実を含んでいます。物理的およびデジタルオブジェクトの新しい可視化環境での共存、およびリアルタイムの相互作用。
他の七
1、コーディング標準を開発します
開発の2、ソフトウェア工学の段階
QA -PG-IT-ET-OT-ST
3、コード管理技術
SVN、CVS、Gitの
4、バグ管理技術
そこでは、BugFree
5、ユニットテストと自動テスト技術
デザインパターンと設計パターンの6、6つの原則
7、MVC / MVP / MVVM
8、その他の技術の点を考慮する必要が
(1)コンテナ
(2)マルチスレッド
(3)同期および非同期
(4)プロセスまたはスレッド間の通信
(5)通信プロトコル
(6)リソース管理
(7)メモリリーク
(8)システムログ
(9)例外システム
(10)検証システム
(11)複数の要因を考慮すべき
データの量スループット、パフォーマンス、リアルタイム、拡張性、保守性、可用性、信頼性、