Resumo do projeto de arquitetura técnica e seleção!

Reproduzido de: http://www.pinlue.com/article/2020/03/0508/059982901128.html

 

Neste artigo, apenas as considerações de projeto de arquitetura conhecimento, não têm conhecimento específico em detalhes.

Em primeiro lugar, a arquitetura de nível superior

plataforma Linux / Windows, CS / Arquitectura BS, arquitetura de dados grande, aplicativos (jogos, Internet, indústrias tradicionais, etc.)

Em segundo lugar, a selecção técnica do CS Cliente

1, tecnologia de desenvolvimento de GUI

sistema de tecnologia (1) Microsoft

MFC, WinForm, WPF, UWP

sistema de tecnologia (2) Java

java AWT, java swing, javafx

sistema de tecnologia (3) Python

Em desespero, PyQt, PyGUI, Libavg, wxPython

2, o desenvolvimento tecnológico do terminal móvel

aplicativo nativo: Android, iOS, wp

programa de micro-canal pequeno

Progressive Web aplicação: end aplicações Web móvel de usar.

3, o programa de console

, A seleção terceira tecnologia do navegador BS em

1, sistema de tecnologia da Microsoft

Asp.net, Asp.net MVC, Silverlight, o IIS

2, sistema de tecnologia Java

JSP Servlet + + + Suportes de hibernação + Primavera, tomcat

3, outras tecnologias

html5, js, AJAX, CSS3, HTTP / HTTPS

quadro js: jQuery, Angular JS, Bootstrap, jQuery UI, Ext JS, Dojo, Prototype JS, Prototype JS (análise DOM, processamento Ajax, suporte CSS, suporte JSON, compatibilidade do navegador)

Quatro, seleção de tecnologia CS Server e final da BS

1, sistema de tecnologia da Microsoft

ASP.NET WebService, WCF, WebAPI

2, sistema de tecnologia Java

Java WebService

3, descanso, micro-serviços

4, e tecnologia de acesso de banco de dados

(1) produtos de base de dados

SQL Server, MySQL, Oracle, DB2, Postgre, Redis

Tecnologia de Acesso (2) Banco de dados

JDBC, ADO.NET, tecnologia ORM

5, tecnologia fila de mensagens

(1) RabbitMQ

Erlang desenvolvido filas de mensagens pesados, suporta muitos protocolos: AMQP, XMPP, SMTP, stomp. Encaminhamento (Routing), balanceamento de carga (Load Balance) ou dados de persistência tem suporte muito bom.

(2) Redis

Valor-chave de um banco de dados NoSQL. Mas MQ funções de apoio. Fornecer serviço de fila leve. Desempenho, independentemente do tamanho dos dados, a equipe Redis operando fora melhor do que RabbitMQ. Desempenho e a quantidade de dados relacionados com o tamanho da equipe operacional.

(3) ZeroMQ

Conhecido como os sistemas de enfileiramento de mensagens mais rápidas, em particular a demanda por cenários de alto rendimento. complexidade técnica é alta. ZeroMQ ter um padrão não-intermediária única, e não há necessidade de instalar ou executar um middleware servidor de mensagens, simplesmente biblioteca de referência ZeroMQ, pode enviar mensagens entre o aplicativo desagradável. ZeroMQ apenas filas não persistentes.

(4) ActiveMQ

ZeroMQ semelhantes, pode fila como agente e peer to peer.

(5) Jafka / Kafka

kafka é um cross-linguagem de alto desempenho distribuídos Publish / Subscribe sistemas de enfileiramento de mensagens e Jafka está em Kafka escotilha vem, que é uma versão atualizada de Kafka. Breve persistente, de alto rendimento, sistema totalmente distribuído que suportes de dados em paralelo Hadoop carregamento.

(6) francelho

Rápido, durabilidade, confiabilidade, suporte clustering, configuração flexível compacto. Use scala desenvolvido para rodar em JVM. Em tempo de execução, a fila é armazenado na memória, mantendo registros para a persistência no disco rígido. Multi-Protocol Suporte Pedir: protocolo memcache, o protocolo de texto, acordo poupança.

(7) msmq

Estabilidade, prioridade da mensagem, capacidades offline, as mensagens transacionais, segurança, resiliência, adequado para a plataforma Windows.

Cinco tecnologia de dados grande

1, os componentes de tecnologia hadoop

HDFS: Hadoop Distributed File System

Hive: Data Warehouse

HBase: distribuído de banco de dados

Zookeeper: serviço de coordenação para aplicativos distribuídos

Sqoop: ferramentas de banco de dados relacional em HDFS

Thrift: estrutura de implantação de serviços cross-language

Mapa / Reduzir: estrutura de computação distribuída

FIO: sistema de gestão de recursos Hadoop

Kafka: distribuído publicação-assinatura sistema de mensagens

Flume: Cloudera fornecer um serviço confiável, distribuídos coleção log maciça, agregação e sistema altamente disponível, transmissão

2, os componentes de tecnologia faísca

faísca Núcleo

SQL faísca

Transmissão faísca

faísca MLlib

Graphx

3, base de dados NoSQL

Cassandra

MongoDB

CouchDB

Redis

ondulação

Membase

Neo4j

HBase

4, tecnologia de segurança de dados grandes

Em sexto lugar, à excepção de um grande banco de dados, você também precisa saber essas tecnologias futuras

1, inteligência artificial, aprendizado de máquina e aprendizagem profunda

Tecnologia: decisão aprendizagem árvore, programação lógica de derivação, clustering, e fortalecer uma variedade de algoritmos de aprendizagem tradicionais e as redes Bayesian; rede neural artificial;

Aplicação: não tripulado (Baidu, Google), interrogatório inteligente ( "Watson"), motores (voz, imagem), tradução automática, assistente de voz pesquisar (siri, Huna, wheatgrass, IFLYTEK), a recomendação inteligente , xadrez.

2, a computação em nuvem

Tecnologia: tecnologia de virtualização, tecnologia IAAS, PAAS tecnologia, tecnologia SAAS

Aplicações: Nuvem coisas, segurança nuvem, armazenamento em nuvem, nuvem privada, jogos em nuvem, educação nuvem.

3 coisas

Tecnologia: A tecnologia RFID, tecnologia GPS, o sistema Beidou, tecnologia de comunicação móvel GSM / GPRS / CDMA, tecnologia GIS, tecnologia de sensores, tecnologia de sistemas embarcados.

Aplicação: transporte inteligente, edifícios inteligentes, casa digital, bibliotecas digitais, arquivos digitais, museus digitais, a conservação do património, a protecção ambiental, gestão de logística, controle de segurança alimentar, saúde digital, tecnologia anti-intrusão, varejo, posicionamento e navegação.

4, a tecnologia contentor

(1) CONTAINER Comum

contentores Docker baseados em Linux, Solaris Zone ou Jail FreeBSD.

A Microsoft está trabalhando com Docker, desenvolver navio do Windows.

A diferença (2) do recipiente e tecnologia de máquinas virtuais

Container tendo propriedades leves, requer menos espaço de memória, proporcionando uma velocidade muito rápida inicialização, ea máquina virtual fornece sistemas operacionais específicas de segurança são as fronteiras mais robustas e lógicos.

5, VR, AR, tecnologia MR

VR: realidade virtual é o uso de simulação de computador para produzir um mundo virtual tridimensional, proporcionando simulação de usuário para visual, auditiva, tátil e outra sensorial, permitindo que os usuários como geral imersiva, com o tempo, não há limite para observar dentro de três dimensões coisas.

AR: Realidade Aumentada através da tecnologia de computador, a aplicação de informação virtual para o mundo real, o ambiente real e objetos virtuais em tempo real sobreposta na mesma tela ou espaço existir.

MR: Realidade Mista inclui tanto a realidade aumentada, também inclui reforçada virtual, referindo-se à realidade merge eo mundo virtual produzido um novo ambiente de visualização. objetos físicos e digitais co-existir no novo ambiente de visualização e interação em tempo real.

sete outros

1, o padrão de codificação desenvolvido

2, fases de engenharia de software de desenvolvimento

QA-PG-IT-ET-OT-ST

3, tecnologia de gerenciamento de código

SVN, CVS, Git

4, Tecnologia de Gestão Bug

Lá, bugfree

5, o teste de unidade e a tecnologia de testes automatizados

6, seis princípios de padrões de design e padrões de projeto

7, MVC / MVP / MVVM

8, os outros aspectos técnicos precisam ser considerados

(1) CONTAINER

(2) de multi-threaded

(3) síncronas e assíncronas

A comunicação entre os processos (4) ou roscas

(5) Protocolo de Comunicação

(6) Gestão de Recursos

(7) vazamento de memória

(8) o registo de sistema

(9) Sistema de excepção

(10) Sistema de Verificação

(11) mais factores a ser considerados

A quantidade de dados taxa de transferência, desempenho, em tempo real, extensibilidade, capacidade de manutenção, disponibilidade, confiabilidade,

Publicado 60 artigos originais · Louvor obteve 52 · vista 110 000 +

Acho que você gosta

Origin blog.csdn.net/yihuliunian/article/details/104672012
Recomendado
Clasificación